HTML中<section>
和<div>
之间的区别是什么?我们不是在这两种情况下定义部分吗?
答案 0 :(得分:930)
<section>
表示内部内容已分组(即与单个主题相关),并应显示为页面大纲中的条目。
<div>
除了class
,lang
和title
中的任何内容之外,不会传达任何含义属性。
所以不是:使用<div>
并未在HTML中定义部分。
来自规范:
<section>
<section>
元素表示文档或应用程序的通用部分。在这种情况下,一节是内容的主题分组。应标识每个section
,通常包括标题(h1-h6元素)作为<section>
元素的子元素。部分的示例可以是章节,选项卡式对话框中的各种选项卡式页面,或论文的编号部分。网站的主页可以分为几个部分,用于介绍,新闻和联系信息。
...
<section>
元素不是通用容器元素。当仅为了样式目的或为了编写脚本而需要元素时,鼓励作者使用<div>
元素。一般规则是<section>
元素仅在元素的内容在文档大纲中明确列出时才适用。
(https://www.w3.org/TR/html/sections.html#the-section-element)
<div>
<div>
元素根本没有特殊含义。它代表了它的孩子。它可以与class
,lang
和title
属性一起使用,以标记一组连续元素共有的语义。注意:强烈建议作者将
<div>
元素视为最后的元素,因为没有其他元素是合适的。使用更合适的元素而不是<div>
元素可以为读者提供更好的可访问性,并使作者更易于维护。
(https://www.w3.org/TR/html/grouping-content.html#the-div-element)
答案 1 :(得分:72)
<section>
标记section,<div>
标记通用块,没有相关的语义。
答案 2 :(得分:59)
<div> Vs <Section>
强> <div>:
HTML元素(或HTML文档分部元素)是流内容的通用容器,它本身并不代表任何内容。它可用于将元素分组以用于样式目的(使用class或id属性),或者因为它们共享属性值,例如lang。只有在没有其他语义元素(例如<article>
或<nav>
)合适时才应该使用它。
<section>:
HTML节元素(<section>
)代表文档的通用部分,即内容的主题分组,通常带有标题
<div>:
浏览器支持
<section>:
浏览器支持
表中的数字指定了第一个完全支持该元素的浏览器版本。
在这种情况下,div仅与纯CSS或DOM视角相关,而section也与语义相关,并且在不久的将来也可用于搜索引擎的索引。
答案 3 :(得分:37)
只是一个观察 - 没有找到任何证实这个
的文件如果某个部分包含另一个部分,则内部部分中的h1标题将显示为比外部部分中的h1-标题更小的字体。 当使用div而不是section时,内部div h1-header被显示为h1。
<section>
<h1>Level1</h1>
some text
<section>
<h1>Level2</h1>
some more text
</section>
</section>
- Level2 - 标题以比Level1标题更小的字体显示。
当使用css为h1标题着色时,内部h1也被着色(表现为常规h1)。 这与Firefox 18,IE 10和Chrome 28中的行为相同。
答案 4 :(得分:19)
在HTML5标准中,<section>
元素被定义为相关元素块。
<div>
元素被定义为子元素块。
答案 5 :(得分:12)
请注意不要过度使用部分标记作为 div 元素的替代品。 部分标记应在正文的上下文中定义重要区域。从语义上讲,HTML5鼓励我们按如下方式定义文档:
<html>
<head></head>
<body>
<header></header>
<section>
<h1></h1>
<div>
<span></span>
</div>
<div></div>
</section>
<footer></footer>
</body>
</html>
&#13;
此策略允许网络漫游器和自动屏幕阅读器更好地了解您的内容流。此标记明确定义了主要页面内容的包含位置。当然,页眉和页脚通常在网站中的数百个页面(而不是数千个页面)中是通用的。应限制部分标记以说明包含唯一内容的位置。在部分标记内,我们应继续使用层次结构较低的HTML标记标记和控制内容,例如 h1 , div , span 等。
在大多数简单页面中,应该只有一个部分标记,而不是多个标记。另请注意,还有其他有趣的HTML5标记与部分类似。请考虑在文档流程中使用文章,摘要,支持和其他内容。如您所见,这些标签进一步增强了我们定义HTML文档主要区域的能力。
答案 6 :(得分:10)
<div>
- 我们都知道并喜爱的通用流量容器。它是一个块级元素,没有额外的语义含义(W3C:Markup,WhatWG)
<section>
- 通用文档或应用程序部分。 A通常有标题(标题),也可能是页脚。它是一大块相关内容,如长文章的子部分,页面的主要部分(例如主页上的新闻部分),或webapp标签界面中的页面。 (W3C:Markup,WhatWG)
我的建议: div:使用较低版本(我认为仍然是4.01)html元素(许多设计师处理过)。 section:最近提交(html5)html元素。
答案 7 :(得分:9)
section标签为html提供了更多的语义语法。 div是节的通用标签。 当您使用部分标记获取适当的内容时,它也可用于搜索引擎优化。 section标签还可以轻松进行html解析。有关更多信息,请参阅。 http://blog.whatwg.org/is-not-just-a-semantic
答案 8 :(得分:5)
使用<section>
可能更整洁,帮助屏幕阅读器和 SEO ,而<div>
更小以字节为单位和更快地输入
整体上差别很小。
此外,不建议将<section>
放入<section>
,而是将<div>
放入<section>
答案 9 :(得分:1)
<section>
标记定义文档中的部分,例如章节,页眉,页脚或文档的任何其他部分。
,而:
<div>
标记定义HTML文档中的分区或部分。
<div>
标记用于对块元素进行分组,以使用CSS格式化它们。
答案 10 :(得分:1)
<强> <section></section>
强>
HTML
<section>
元素表示a的通用部分 文档,即内容的主题分组,通常带有 标题。应该识别每个<section>
,通常包括 标题(<h1>
-<h6>
元素)作为<section>
的子元素 元件。详情请点击以下链接。
参考文献:
<强> <div></div>
强>
HTML
<div>
元素(或HTML文档分割元素)是 流内容的通用容器,它本身并不存在 代表什么。它可用于对样式进行分组 目的(使用class或id属性),或者因为它们共享 属性值,例如lang。它应该只在没有其他时使用 语义元素(例如<article>
或<nav>
)是合适的。
参考文献: - http://www.w3schools.com/tags/tag_div.asp - https://developer.mozilla.org/en/docs/Web/HTML/Element/div
以下是一些链接,讨论了它们之间的差异:
答案 11 :(得分:1)
以下是有关如何在Web应用程序中区分几个最近的html5元素的提示(纯粹是主观的)。
<section>
在图形用户界面中标记了窗口小部件,而<div>
是窗口小部件的组件的容器,例如包含按钮和标签的容器等。
<article>
对具有共同目的的小部件进行分组。
<header>
是标题和菜单栏。
<footer>
是状态栏。