Может ли другой тег быть внутри заголовка HTML 5 (т.е. h1, h2, h3 и т. Д.)? - PullRequest
18 голосов
/ 05 мая 2011

Я не уверен в соглашении, касающемся заголовков в HTML 5, но я хотел знать, могу ли я добавить <small> в <h3>, например так (это может применяться к любому тегу внутри любых тегов заголовка):

<h3>Payment details <small>(this is your default card)</small></h3>

Большое спасибо

Ответы [ 4 ]

14 голосов
/ 05 мая 2011

Да, эта разметка проверяется.Вы можете проверить это самостоятельно на http://validator.w3.org/

Что-то, о чем нужно знать в HTML5, хотя это изменение понятия элементов уровня блока: https://developer.mozilla.org/en/HTML/Block-level_elements

6 голосов
/ 05 мая 2011

Я не думаю, что есть какие-либо ограничения на это в спецификации. Только элементы Void не могут иметь детей. Смотри http://dev.w3.org/html5/markup/syntax.html#void-element

Хотя обычно H1, H2, H3 и т. Д. Будут отображаться в одном размере и для подзаголовка, такого как «(это ваша карта по умолчанию)», вы можете использовать более низкое значение H, например. H4.

5 голосов
/ 03 марта 2012

Спецификации для заголовочных элементов:

говорит, что имеет модель поэтапного контента:

Content model:
    Phrasing content.

Рассматривая часть спецификаций для модели фазирования контента:

Это говорит это:

Примечание. Большинство элементов, которые классифицируются как контент фраз, могут только содержат элементы, которые сами классифицируются как фразировка контента, нет содержимого потока.

Кроме этого, вы не можете поместить заголовок в другой заголовок - это из W3C validator :

Error Line 1, Column 23: Heading cannot be a child of another heading.

<!DOCTYPE html><h1><h2></h2></h1>

Хотя я не смог найти в спецификациях, где это прямо сказано, есть ограничения, которые кажутся довольно конкретными. Это может привести к очень странному поведению, такому как приведенный выше HTML-код будет фактически проанализирован как

<h1></h1><h2></h2>

например. см. этот SOq для примера косвенных проблем, которые это может вызвать:

На всякий случай, если кто-то столкнется с этим ...

0 голосов
/ 27 марта 2016

Я не думаю, что в спецификации есть какие-либо ограничения на это.Только пустые элементы не могут иметь детей.См. http://dev.w3.org/html5/markup/syntax.html#void-element

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

Ниже приведен полный список пустых элементов в HTML:

area, base, br, col, command, embed, hr, img, input, keygen, link,
meta, param, source, track, wbr

Хотя обычно h1, h2, h3 и т. Д.отображается в одном размере.Для подзаголовка, такого как «(это ваша карта по умолчанию)», вы можете использовать меньший заголовок, например, h4.

...