В настоящее время я работаю над некоторыми темами HTML5 для нескольких моих веб-сайтов, и у меня все время возникают проблемы с тем, как <h1>
можно использовать несколько раз. Кажется, я не могу предсказать, в каких элементах будут отображаться заголовки, но я хочу попытаться их размер автоматически, основываясь на их позиции в DOM...
Я думал об использовании чего-то вроде
h1 { font-size: 3em; }
h2,
body > * > header h1 { font-size: 2.5em; }
h3,
body > * > header h2,
body > * > * > header h1 { font-size: 2em; }
Но, очевидно, это далеко не водонепроницаемо. Наличие дополнительного элемента вокруг h1, который на самом деле не означает, что он глубже в структуре страницы, будет иметь тенденцию выбирать слишком маленькие размеры. Например, неупорядоченный список с блоками, каждый из которых имеет свой собственный заголовок, будет иметь что-то вроде
<section>
<ul>
<li>
<header>
<h1>Title of a block</h1>
</header>
content
</li>
</ul>
</section>
Что делает <h1>
намного глубже, чем на самом деле. Каковы хорошие способы справиться с этим?