Элементы стиля HTML5

Я знаю, что некорректно стиль тега <section>, но как насчет тегов <header> и <footer>. Если использование этих тегов обеспечивает более семантическую разметку, тогда они должны использоваться, однако, если они не могут быть стилизованы, тогда <div> все равно нужно будет вставить внутри тега, чтобы обернуть содержимое и стилизовать его.

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

Итак, возникает вопрос: должны ли быть оформлены теги html5 или должен быть размещен <div> внутри, чтобы ухаживать за стилем?

Ответ 1

Ничего в спецификации говорит, что вы не можете или не должны создавать элементы HTML5, такие как <section> или <article>. Он говорит только, что вы не должны размещать семантический элемент HTML5 где-нибудь " для", что-то стилизует. Вместо этого используйте <div>.

Итак, если у вас есть семантическая причина, чтобы добавить <section> или <article> где-нибудь, тогда обязательно добавьте ее И, также не стесняйтесь ее стилизовать. Но если вам нужно обернуть раздел вашей разметки для целей стилизации (например, добавить границу или поплавать влево и т.д.), Но этот раздел не имеет семантического значения в вашей разметке, а затем используйте <div>.

Например:

<div class="mainBox">
    <nav class="breadcrumbs">
        <ol>
            <li>...list of links (snip)....</li>
        </ol>
    </nav>

    <section>
        <h1>Latest Tweets From Twitter</h1>

        <article>
            //... a Tweet (snip)... //
        </article>

        <article>
            //... a Tweet (snip)... //
        </article>

        //... lots more Twitter posts (snip)... //

    </section>

</div>

Элемент <section> является основной частью вашей страницы (т.е. вашим списком твитов), а также имеет заголовок в начале, который требуется. Но он завернут в элемент div.mainBox, потому что, возможно, вы хотите обернуть границу вокруг панировочных сундуков и частей раздела, т.е. это чисто для укладки. Но вам нечего мешать стилировать элементы <section> и <article>.

Ответ 2

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

Сказав, что вы также должны остерегаться их стилизации, поскольку они не распознаются всеми браузерами. Например, IE6 и 7 не будут применять стили, поскольку они не будут распознавать имена элементов. Вы можете обойти это в IE7, используя теги ARIA, которые позволят вам управлять стилем.