Может ли другой тег быть внутри заголовка HTML 5 (т.е. h1, h2, h3 и т. Д.)?

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

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

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

4 ответа

Решение

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

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

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

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

Content model:
    Phrasing content.

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

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

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

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

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 для примера косвенных проблем, которые это может вызвать:

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

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

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

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

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

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

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

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

Другие вопросы по тегам