Подтвердить что ты не робот

Может ли тег <header> содержаться в теге <aside> в HTML5?

Мне интересно, будет ли эта конструкция семантически корректной в HTML5.

<html>
<head></head>
<body>
    <aside>
        <header>
            <h1></h1>
        </header>
        <div>

        </div>
    </aside>
    <section id="content">

    </section>
</body>
</html>

То, что я хочу, - это левая полоса, на которой 30% экрана, с логотипом и некоторыми вещами ниже, а затем содержимое занимает остальные 70% с правой стороны.

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

4b9b3361

Ответ 1

Нет ничего неправильного по себе с кодом, который вы там указали, но помните, что тег <aside> элемент содержимого секционирования, поэтому <header> и <h1> внутри него будут рассматриваться как заголовок только для <aside>, а не для всей страницы (по крайней мере, под алгоритмом HTML5, который, печально, кажется, что на самом деле мертв на практике).

Это может быть то, что вы намереваетесь. Если нет, то если все в левом столбце в значительной степени просто вводят содержание для страницы, вы можете поместить все это внутри элемента <header> и полностью потеряйте <aside>:

<html>
<head></head>
<body>
    <header>
        <h1></h1>
        <div>

        </div>
    </header>
    <section id="content">

    </section>
</body>
</html>

Ответ 2

Учитывая, что HTML5 по-прежнему является черновиком, спецификации говорят

Элемент заголовка предназначен для обычно содержат заголовок раздела (элемент h1-h6 или hgroup элемент), но это не требуется. Элемент заголовка также может использоваться для оберните раздел оглавления, форму поиска или любые соответствующие логотипы.

и

Элемент [в стороне] можно использовать для типографские эффекты, такие как котировки или боковых панелей, для рекламы, для группы элементов навигации, а для других содержание, которое считается отдельным из основного содержимого страницы.

и единственным "ограничением" в теге <aside /> является

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

хотя в тегах <aside /> нет явных примеров с тегами <header />, я бы рассмотрел их в порядке.

Ссылки: