Стилизация элементов HTML5 - PullRequest
15 голосов
/ 23 августа 2010

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

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

Поэтому вопрос таков: следует ли стилизовать теги html5 или поместить <div> внутрьпозаботиться о укладке?

Ответы [ 2 ]

38 голосов
/ 23 августа 2010

Ничто в спецификации не говорит, что вы не можете или не должны стилизовать элементы HTML5, такие как <section> или <article>. Это только говорит о том, что вы не должны размещать семантический элемент HTML5 где-то в «» ради «1004 *» стилизации чего-либо. Вместо этого используйте <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>.

3 голосов
/ 23 августа 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...