Допустимо ли когда-либо вкладывать теги заголовков в теги элементов списка в элементе навигации HTML5, чтобы элементы списка навигации отображались в контурах? Это подтверждает, но правильно ли семантически иметь заголовок в элементе списка навигации? Есть ли способ заставить элементы навигации отображаться в контурах с помощью HTML5? Или я должен даже заботиться об этом?
Вложение тегов заголовков в теги li
Ответы (2)
Правила синтаксиса HTML5 позволяют использовать элементы заголовков h1
, h2
и т. д. внутри элементов li
. Однако он (как и все спецификации HTML) определяет элементы заголовков как заголовки для чего-то. Это неявно присутствовало в более ранних спецификациях, но стало более ясным в HTML5, который определяет, как заголовки участвуют в разделении документа на разделы. Заголовок для пустого раздела, хотя формально допустим, не имеет смысла, за исключением, возможно, временного состояния, когда содержимое еще не вставлено и будет добавлено в более поздней версии или с помощью сценария.
Технически, использование <nav><li><h2>foo</h2></li>...</nav>
поместит «foo» в схему, как если бы в документе был раздел с заголовком «foo». Но вы вряд ли что-то выиграете таким образом, даже если схемы HTML5 будут иметь некоторую поддержку. А они нет; см. Структура документа HTML5 — опасная фикция.
Мой ответ состоял бы в том, чтобы просто создать свой собственный div и обернуть в него свои навигационные элементы. Таким образом, вы можете изменить размер шрифта и все остальное, что вы хотите сделать из него. Забудьте о теге заголовка — это то, что я рекомендую, я бы не увидел в нем много полезного элемента в списках.
В CSS:
.myDiv {
font-size: 20px;
display: block;
border: 2px solid black;
}
А затем назначьте его HTML
<div class="myDiv">Home</div>
<div class="myDiv">About</div>
и так далее. Надеюсь, это поможет, и что я понял ваш вопрос!