Размереть внутри анкера или анкера внутри пролета или не имеет значения?

Я хочу вложить теги span и a. Должен ли я

  • Поместите <span> внутрь <a>
  • Поместите <a> внутрь <span>
  • Это не имеет значения?

Ответ 1

3 - Это не имеет значения.

НО, я предпочитаю использовать <span> только внутри <a>, если он используется только для части содержимого тега i.e.

<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>

Ответ 2

Это совершенно справедливо (по крайней мере, с помощью стандартов HTML 4.01 и XHTML 1.0), чтобы вставить внутри <a> или <a> внутри <span>.

Чтобы доказать это самому себе, вы всегда можете проверить его W3C MarkUp Validation Service

Я попытался проверить:

<!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> и наоборот.

Ответ 3

что зависит от того, что вы хотите разметки.

  • Если вам нужна ссылка внутри диапазона, поместите <a> внутрь <span>.
  • если вы хотите разметить что-то в ссылке, поместите <span> в <a>

Ответ 4

Это не имеет значения - они оба разрешены внутри друг друга.

Ответ 5

SPAN - это встроенный контейнер GENERIC. Не имеет значения, находится ли a внутри span или span внутри a, поскольку оба являются встроенными элементами. Не стесняйтесь делать то, что кажется логически правильным для вас.

Ответ 6

Это зависит от того, для какого диапазона. Если он ссылается на текст ссылки, а не на то, что это ссылка, выберите # 1. Если диапазон относится к ссылке в целом, тогда выберите # 2. Если вы не объясните, что представляет собой промежуток, там не так много ответа. Они являются встроенными элементами, могут быть синтаксически вложены в любом порядке.

Ответ 7

Лично, как веб-разработчик, я только когда-либо помещаю span в тег привязки, если я пытаюсь выделить раздел текста ссылок, например, применить фон к одному разделу.

Ответ 8

Это может иметь значение, если, например, вы используете шрифт значка какого-то типа. У меня было это сейчас:

<span class="fa fa-print fa-3x"><a href="some_link"></a></span>

Обычно я помещал пролет внутри A, но стиль не вступал в силу, пока не поменялся.

Ответ 9

Он будет работать, но лично я бы предпочел вариант 2, поэтому диапазон "вокруг" ссылки.

Ответ 10

Семантически я думаю, имеет смысл, как контейнер для одного элемента, и если вам нужно их вложить, то это предполагает, что более чем элемент будет внутри внешнего.