<section>和<div>之间有什么区别?</div> </section>

时间:2011-08-04 10:33:13

标签: html5 html

HTML中<section><div>之间的区别是什么?我们不是在这两种情况下定义部分吗?

12 个答案:

答案 0 :(得分:930)

<section>表示内部内容已分组(即与单个主题相关),并应显示为页面大纲中的条目。

另一方面,

<div> 除了classlangtitle中的任何内容之外,不会传达任何含义属性。

所以不是:使用<div>并未在HTML中定义部分。

来自规范:

<section>

  

<section>元素表示文档或应用程序的通用部分。在这种情况下,一节是内容的主题分组。应标识每个section,通常包括标题(h1-h6元素)作为<section>元素的子元素。

     

部分的示例可以是章节,选项卡式对话框中的各种选项卡式页面,或论文的编号部分。网站的主页可以分为几个部分,用于介绍,新闻和联系信息。

     

...

     

<section>元素不是通用容器元素。当仅为了样式目的或为了编写脚本而需要元素时,鼓励作者使用<div>元素。一般规则是<section>元素仅在元素的内容在文档大纲中明确列出时才适用。

https://www.w3.org/TR/html/sections.html#the-section-element

<div>

  

<div>元素根本没有特殊含义。它代表了它的孩子。它可以与classlangtitle属性一起使用,以标记一组连续元素共有的语义。

     

注意:强烈建议作者将<div>元素视为最后的元素,因为没有其他元素是合适的。使用更合适的元素而不是<div>元素可以为读者提供更好的可访问性,并使作者更易于维护。

https://www.w3.org/TR/html/grouping-content.html#the-div-element

答案 1 :(得分:72)

<section>标记section<div>标记通用块,没有相关的语义。

答案 2 :(得分:59)

<div> Vs <Section>

第1轮

<div>: HTML元素(或HTML文档分部元素)是流内容的通用容器,它本身并不代表任何内容。它可用于将元素分组以用于样式目的(使用class或id属性),或者因为它们共享属性值,例如lang。只有在没有其他语义元素(例如<article><nav>)合适时才应该使用它。

<section>: HTML节元素(<section>)代表文档的通用部分,即内容的主题分组,通常带有标题


第2轮

<div>: 浏览器支持 enter image description here

<section>: 浏览器支持

表中的数字指定了第一个完全支持该元素的浏览器版本。 enter image description here

在这种情况下,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鼓励我们按如下方式定义文档:

&#13;
&#13;
<html>
<head></head>
<body>
    <header></header>
    <section>
        <h1></h1>
        <div>
            <span></span>
        </div>
        <div></div>
    </section>
    <footer></footer>
</body>
</html>
&#13;
&#13;
&#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>是状态栏。