Какие элементы могут содержаться в теге <a>? - PullRequest
32 голосов
/ 31 июля 2010

Какие допустимые HTML-элементы, если таковые имеются, могут содержаться в теге <a>?

Ответы [ 6 ]

53 голосов
/ 29 ноября 2012

Начиная с HTML 5, <a> может содержать не только (допустимые) встроенные элементы, но и блочные элементы и т. Д.

W3: http://dev.w3.org/html5/markup/a.html

28 голосов
/ 31 июля 2010

Встроенные элементы (a, span, strong, em среди других) могут содержать другие встроенные элементы и текстовые узлы. Якорь может содержать диапазон, который может содержать текстовый узел.

Как правило, элементы уровня блока могут содержат встроенные элементы и другие элементы уровня блока. В общем-то, встроенные элементы могут содержать только данные и другие встроенные элементы. Присущий это структурное различие является Идея создания блоковых элементов "большие" структуры, чем встроенные элементы.

С http://www.w3.org/TR/html401/struct/global.html

Как отмечалось в других ответах, вы не можете вкладывать a в a.

3 голосов
/ 31 июля 2010

См. анкерную секцию спецификации.

<!ELEMENT A - - (%inline;)* -(A)       -- anchor -->

Соответствующий раздел - (%inline;)* -(A), что означает «Что-нибудь в группе% inline, исключая элементы A». % inline является гиперссылкой, чтобы вам было легче ее расширить.

3 голосов
/ 31 июля 2010

Тег <a> может содержать любой встроенный элемент , кроме другого тега <a>.

2 голосов
/ 31 июля 2010

Якорный тег является встроенным элементом, поэтому он может содержать другие встроенные элементы (кроме других тегов привязки).

Если вы хотите поместить элемент блока внутри якоря, вы должны использовать встроенный элемент и превратить его в элемент блока с помощью CSS вместе с самим тегом привязки.

Пример:

<a href="page.html" class="blocklink"><span>eat me</span></a>

CSS:

.blocklink { display: block; }
.blocklink span { display: block; }
2 голосов
/ 31 июля 2010

Может содержать простой текст и встроенные элементы.Встроенные элементы следующие:

TT | I | B | BIG | SMALL | EM | STRONG | DFN | CODE | SAMP | 
KBD | VAR | CITE | ABBR | ACRONYM | A | IMG | OBJECT | BR | 
SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO

Но A не может быть вложен в другой A, а вложенность SCRIPT не имеет смысла.

...