我在HTML5规范中读到,通用div
标记只应在更具体的元素不可用时用作"最后手段"。例如,标签header
、footer
和section
优选用于按主题对内容进行分组。
但似乎绝大多数网站仍然使用div
作为主要元素。我的问题是,div
多久使用一次,在什么情况下使用合适?应该使用哪些其他元素来代替它?
我正在寻找基于规范的答案,而不是个人意见。谢谢
没有任何东西可以取代<div>
(它仍在规范中是有原因的),但HTML5有更多更具体的元素。
除了<header>
、<footer>
和<section>
之外,还有:
<nav>
<article>
<aside>
<main>
<details>
<summary>
<figure>
<dialog>
<menu>
- 还有更多
基本上,任何新的HTML5元素都可以取代<div>
。
您应该在什么时候使用div?你自己回答:
当更具体的元素不可用时
MDN有一个HTML5元素列表,其中包含所有标准HTML5元素,并指示哪些元素是HTML5的新元素。
需要记住的是,div
标记仍然是HTML5的一部分,它还没有过时。然而,div
元素在HTML4中被滥用了很多,这是理所当然的,因为它从来没有任何替代品。现在HTML5已经包含了一些很棒的新结构元素,div
不再是创建布局的最佳选择。
div
的主要缺点是元素没有意义,因此创建应用程序就绪布局非常困难。HTML5中引入的新结构元素肯定会对这个问题有很大帮助。
section
元素最有可能比header
、footer
等其他结构元素使用更多,主要是因为它不像其他结构元素那样特定。此外,您可以添加的结构元素数量没有限制,但需要记住的是,section
并不是div
的完整替代品。
div
仍然在HTML5中发挥作用。它非常适合对相似的元素进行分组以及根据需要对元素进行划分。此外,section
不应仅用于样式设置,因为section
不打算作为包装器。
header
、section
、footer
和其他此类元素的原因是为了帮助在css和脚本语言中引用它们。W3C研究了web开发人员在div
中使用的最常见的ID,并相应地在HTML5中创建了新元素。div
s和ID之所以被广泛认为是不好的做法,是因为所有这些属性都混淆了代码。众所周知,杂乱的编码会导致错误和错误。
你在哪里使用它们?这是不言自明的。以header
为例。它最常见的用途是在网页的顶部。右键单击顶部的堆栈溢出徽标并查看源代码。他们实际上使用的是一个ID为"header"的div
。从技术上讲,这是不好的做法。
div
的一个很好的用途是像这样在整个内容周围创建一个包装器。
<div id="wrapper">
<!--content-->
</div>
然后你可以在css中引用它到中心:
#wrapper{margin:20px auto;}
希望这能有所帮助!