Я прочитал несколько статей об алгоритме структуры html5, но эта меня смущает.
Если вы вставите в этот инструмент следующую разметку: http://gsnedders.html5.org/outliner/
<body>
<nav>
<h1>Navigation</h1>
<ul>
<li>...</li>
</ul>
</nav>
<h1>My fantastic site</h1>
<h2>About me</h2>
<p>I am a man who lives a fascinating life. Oh the stories I could tell you...</p>
<h2>What I do for a living</h2>
<p>I sell enterprise-managed ant farms.</p>
<h1>Contact</h1>
<p>Shout my name and I will come to you.</p>
</body>
вы получите такой план:
- My fantastic site
- Navigation
- Обо мне
- Чем я зарабатываю на жизнь
- Контакт
Это довольно просто. Навигация является подразделом <body>
, поэтому отображается под <body>
<h1>
, как и все заголовки уровня h2.
Но взгляните на следующий пример:
<body>
<nav>
<h1>Navigation</h1>
<ul>
<li>...</li>
</ul>
</nav>
<h1>My fantastic site</h1>
<figure><img src="" alt="" /><figure>
<h2>About me</h2>
<p>I am a man who lives a fascinating life. Oh the stories I could tell you...</p>
<h2>What I do for a living</h2>
<p>I sell enterprise-managed ant farms.</p>
<h1>Contact</h1>
<p>Shout my name and I will come to you.</p>
</body>
Я добавил элемент <figure>
между <h1>
и <h2>
, и это, похоже, влияет на контур в соответствии с http://gsnedders.html5.org/outliner/.
Вывод из планировщика:
- My fantastic site
- Navigation
- About me
- Чем я зарабатываю на жизнь
- Navigation
- Контакт
Все заголовки уровня h2 теперь являются потомками <nav>
вместо <body>
. Кто-нибудь может объяснить, почему это происходит? Это какая-то ошибка в инструменте аутлайнера?
Спасибо