Відповіді:
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, але стайлінг не вступив у дію, поки не поміняв його кругом.