【问题标题】:What to use instead of div elements in HTML5在 HTML5 中使用什么来代替 div 元素
【发布时间】:2014-03-27 23:43:42
【问题描述】:

我在 HTML5 规范中读到,通用的div 标记只能在更具体的元素不可用时用作“最后的手段”。例如,标签headerfootersection 是按主题对内容进行分组的首选。

但似乎绝大多数网站仍然使用div 作为主要元素。我的问题是,使用div 的频率和在什么情况下是合适的?应该使用哪些其他元素来代替它?

我正在根据规范而不是个人意见寻找答案。谢谢!

【问题讨论】:

  • 绝大多数网站都是在 HTML5 被广泛接受之前构建的。你看过新元素的规格了吗?他们的预期目的非常明确。
  • 这是一篇不错的文章我在html5doctor.com/you-can-still-use-div987654321@看到的

标签: html styles


【解决方案1】:

要记住的是,div 标签仍然是 HTML5 的一部分,而且还没有过时。 然而,div 元素在 HTML4 中被滥用了很多,这是理所当然的,因为它从来没有任何替代品。现在 HTML5 已经包含了一些很棒的新结构元素,div 不再是创建布局的最佳选择。

div 的主要缺点是元素没有意义,因此创建应用程序就绪的布局非常困难。 HTML5 中引入的新结构元素肯定会对解决这个问题有很大帮助。

section 元素很可能比headerfooter 等其他结构元素使用得更多,主要是因为它不像其他元素那样具体。此外,您可以添加多少结构元素也没有限制,但要记住的是 section 不是完整的 div 替代品。

div 仍然在 HTML5 中发挥作用。它非常适合对相似元素进行分组以及根据需要划分元素。此外,section 不应仅用于样式设置,因为 section 不打算用作包装器。

【讨论】:

    【解决方案2】:

    创建headersectionfooter 和其他此类元素的原因是为了帮助在 css 和脚本语言中引用它们。 W3C 研究了 Web 开发人员用于divs 的最常见 ID,并相应地在 HTML5 中制作了新元素。 divs 和 IDs 被广泛认为是不好的做法的原因是因为所有这些属性都会使代码混乱。众所周知,混乱的编码会导致错误和错误。

    你在哪里使用它们?这很不言自明。以header 为例。它最常见的用途是网页的顶部。右键单击顶部的堆栈溢出徽标并查看源代码。他们实际上使用的是 ID 为“header”的div。从技术上讲,这是不好的做法。

    divs 的一个很好的用途是像这样围绕您的整个内容创建一个包装器。

    <div id="wrapper">
        <!--content-->
    </div>
    

    然后可以在css中引用到居中:

    #wrapper{margin:20px auto;}
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      没有任何东西可以代替 &lt;div&gt;(这是它仍在规范中的原因),但 HTML5 有更多可用的元素更具体。

      除了&lt;header&gt;&lt;footer&gt;&lt;section&gt;之外,还有:

      • &lt;nav&gt;
      • &lt;article&gt;
      • &lt;aside&gt;
      • &lt;main&gt;
      • &lt;details&gt;
      • &lt;summary&gt;
      • &lt;figure&gt;
      • &lt;dialog&gt;
      • &lt;menu&gt;
      • 还有更多!

      基本上任何新的 HTML5 元素都可以代替 &lt;div&gt;

      什么时候应该使用 div?你自己回答了:

      当更具体的元素不可用时

      MDN 有一个HTML5 element list,其中包含所有标准 HTML5 元素,并指出哪些元素是 HTML5 的新元素。

      【讨论】:

      • 除了对代码阅读器更明确之外,这些还有什么优势吗?
      猜你喜欢
      • 1970-01-01
      • 2021-02-10
      • 2013-03-26
      • 2020-05-15
      • 2011-10-02
      • 2011-10-12
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多