Я нашел a page about sections and outlines для HTML5. Не на 100% уверен, что это официально, и на странице говорится, что большинство браузеров не следуют за ним, но я думаю, что это довольно крутая идея, поэтому я пытаюсь создать код, который явно вставляет неявные разделы и создает контур.Невозможная ситуация при смешивании явного и неявного секционирования в HTML5?
концептуальная проблема, я похож на один из примеров, где смешаны неявные и явные секционирования (сокращенный вариант):
<body>
<h1>Mammals</h1>
<h2>Whales</h2>
...
<section>
<h3>Forest elephants</h3>
...
<h3>Mongolian gerbils</h3>
...
<h2>Reptiles</h2>
...
</section>
</body>
Который должен дать:
1. Mammals
1.1 Whales (implicitly defined by the h2 element)
1.2 Forest elephants (explicitly defined by the section element)
1.3 Mongolian gerbils (implicitly defined by the h3 element, which closes the previous section at the same time)
2. Reptiles (implicitly defined by the h2 element, which closes the previous section at the same time)
Но я сталкиваюсь проблема с этим (начиная раздел с заголовком, а затем позже используя менее глубокий заголовок). Рассмотрим этот слегка измененный пример:
<body>
<h1>Mammals</h1>
<h2>Whales</h2>
...
<section>
<h3>Forest elephants</h3>
...
<h2>Reptiles</h2>
...
<h1>Martians</h2>
<p>Just being annoying</p>
</section>
</body>
Как я должен иметь дело с этим? Последние <h1>
должны заканчиваться на уровне <h0>
во внешнем пространстве, которого не существует.
(Лично я думаю, что было бы наиболее целесообразно иметь явные разделы, которые начинаются с <h3>
только позволяют <h3>
, <h4>
, <h5>
и <h6>
, но не воспроизводит пример, и я хотел бы сделать это «официальный 'way.)
Кажется, что этот пример вводит в заблуждение; Я уведомил Mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=1255429 – Mark