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