【问题标题】:Should HTML 5 semantic markup be used for styling at all?是否应该将 HTML 5 语义标记用于样式?
【发布时间】:2012-04-08 01:05:38
【问题描述】:

我必须承认 HTML5 语义标记让我感到困惑。我特别在谈论这些标签:

<header>
<nav>
<section>
<article>
<aside>
<footer>

使用语义元素为 UA 提供了通常无法从 &lt;div&gt; 获得的信息,但它们应该与 &lt;div&gt; 标签一起使用,还是可以/应该为语义标记设置样式直接地?

换句话说,正确的方法是什么?

这个:

<div id="content">
    <section>
        <h1>Lorem ipsum></h1>
        <p>Text</p>
    </section>
</div>

或者这个:

<section id="content">
    <h1>Lorem ipsum></h1>
    <p>Text</p>
</section>

【问题讨论】:

  • 标签本身的样式。请记住,某些浏览器存在 HTML5 标签问题,因此您需要一个脚本并重置样式来注入新元素,ala modernizr.com

标签: html semantics markup


【解决方案1】:

我相信您的第一个示例在语义上是正确的,假设您在该 div 标记中会有更多的 section 标记。

div 标记将暗示页面的一部分用于内容,然后section 标记类似于帖子。

【讨论】:

    【解决方案2】:

    如果你使用语义标记标签,你不应该同时使用分割标签来做同样的事情。语义标签是一些 div 标签的替代品。

    div 标签当然还是有用的,因为当没有合适的语义标签时。

    【讨论】:

      【解决方案3】:

      由于新标签并未被浏览器普遍识别,即使作为样式候选者,使用divclass 更安全。您还可以像以前一样选择仅使用divclass,并且您现在或在可预见的将来都不会丢失任何东西。没有软件关心新标签的“语义”。

      【讨论】:

      • 截至 2019 年已过时
      【解决方案4】:

      第一个例子使用起来更安全。

      <section>
        <h1>Lorem ipsum></h1>
        <p>Text</p>
      </section>
      

      是内容。

      为了设置此内容的样式,您可以将其包装在容器中,例如。 div 带有样式钩子(类)并对其应用样式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-21
        • 2019-02-23
        • 2021-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多