Ответы:
3 - Неважно.
НО, я обычно использую только <span>
внутри, <a>
если это только часть содержимого тега, т.е.
<a href="#">some <span class="red">text</span></a>
Скорее, чем:
<a href="#"><span class="red">some text</span></a>
Что, очевидно, должно быть просто:
<a href="#" class="red">some text</a>
Совершенно допустимо (по крайней мере, по стандартам HTML 4.01 и XHTML 1.0) вкладывать либо <span>
внутрь, <a>
либо <a>
внутрь <span>
.
Чтобы доказать это самому себе, вы всегда можете проверить это в Службе валидации W3C MarkUp.
Я пробовал проверить:
<!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>
внутренней стороны<span>
т.е.
<span><a href="http://www.google.com">Google</a></span>
с типами документов HTML 4.01 и XHTML 1.0, и оба успешно прошли проверку!
Единственное, о чем следует помнить, - это закрывать теги в правильном порядке. Поэтому, если вы начинаете с, а <span>
затем <a>
, убедитесь, что вы <a>
сначала закрыли тег, прежде чем закрывать, <span>
и наоборот.
Это не имеет значения - им обоим разрешено находиться друг в друге.
Это зависит от того, для чего нужен пролет. Если это относится к тексту ссылки, а не к факту, что это ссылка, выберите №1. Если диапазон относится к ссылке в целом, выберите №2. Если вы не объясните, что представляет собой диапазон, ответа не будет больше. Оба они являются встроенными элементами и могут быть синтаксически вложены в любом порядке.
Это может иметь значение, если, например, вы используете какой-то шрифт значка сортировки. У меня это было только что с:
<span class="fa fa-print fa-3x"><a href="some_link"></a></span>
Обычно я помещал бы диапазон внутри буквы A, но стиль не вступал в силу, пока не поменял его местами.
Это будет работать и в том, и в другом случае, но лично я бы предпочел вариант 2, чтобы диапазон был «вокруг» ссылки.