Odpowiedzi:
3 - To nie ma znaczenia.
ALE, staram się używać tylko <span>
wewnątrz a, <a>
jeśli jest to tylko dla części zawartości tagu, tj
<a href="#">some <span class="red">text</span></a>
Zamiast:
<a href="#"><span class="red">some text</span></a>
Który oczywiście powinien być po prostu:
<a href="#" class="red">some text</a>
Jest całkowicie poprawne (przynajmniej przez standardy HTML 4.01 i XHTML 1.0) zagnieżdżanie <span>
wewnątrz <a>
lub <a>
wewnątrz pliku <span>
.
Aby to sobie udowodnić, zawsze możesz to sprawdzić w usłudze walidacji W3C MarkUp
Próbowałem zweryfikować:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Title</title>
</head>
<body>
<p>
<a href="http://www.google.com/"><span>Google</span></a>
</p>
</body>
</html>
A także to samo, co powyżej, ale z <a>
wnętrzem<span>
to znaczy
<span><a href="http://www.google.com">Google</a></span>
z dokumentami HTML 4.01 i XHTML 1.0 i oba pomyślnie przeszły walidację!
Jedyną rzeczą, o której należy pamiętać, jest upewnienie się, że zamykasz tagi we właściwej kolejności. Jeśli więc zaczynasz od a <span>
then an <a>
, upewnij się, że zamknąłeś <a>
tag przed zamknięciem <span>
i odwrotnie.
To nie ma znaczenia - oboje są w sobie dozwoleni.
To zależy od tego, do czego służy rozpiętość. Jeśli odnosi się do tekstu linku, a nie do faktu, że jest to link, wybierz # 1. Jeśli rozpiętość odnosi się do łącza jako całości, wybierz nr 2. Jeśli nie wyjaśnisz, co reprezentuje rozpiętość, nie ma nic więcej odpowiedzi niż to. Oba są elementami wbudowanymi, mogą być zagnieżdżone składniowo w dowolnej kolejności.
Może to mieć znaczenie, jeśli na przykład używasz jakiejś czcionki ikony sortowania. Miałem to przed chwilą z:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
Normalnie umieściłbym rozpiętość wewnątrz litery A, ale stylizacja nie działała, dopóki nie została zamieniona.