在HTML中<section>和<div>之间有什么区别?我们不是在这两种情况下都定义了节吗?


当前回答

<节> < / >节

元素的泛型部分 文档,即内容的主题分组,通常带有 标题。每个<section>都应该被标识,通常包括 标题(<h1>-<h6>元素)作为<section>的子元素 元素。详情请按以下连结。

引用:

http://www.w3schools.com/tags/tag_section.asp https://developer.mozilla.org/en/docs/Web/HTML/Element/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


这里有一些链接,更多地讨论了它们之间的区别:

http://html5doctor.com/avoiding-common-html5-mistakes/ https://teamtreehouse.com/community/use-div-or-section-element http://webdesign.about.com/od/html5tags/fl/div-vs-section.htm

其他回答

<section>标记一个section, <div>标记一个没有关联语义的泛型块。

section标记为html提供了更具语义性的语法。Div是节的通用标记。 当你为适当的内容使用节标签时,它也可以用于搜索引擎优化。Section标记还使HTML解析变得容易。更多信息,请参考。http://blog.whatwg.org/is-not-just-a-semantic

<div> Vs <Section>

第一轮

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

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


第二轮

>:浏览器支持

<section>:浏览器支持

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

因此,div只从纯CSS或DOM的角度来看是相关的,而section也与语义相关,在不久的将来,还与搜索引擎的索引相关。

使用<section>可能更整洁,有助于屏幕阅读器和SEO,而<div>的字节更小,打字更快

总的来说差别很小。

另外,不建议将<section>放在<section>中,而是将<div>放在<section>中

<section>意味着里面的内容是分组的(即与单个主题相关),并且应该作为页面大纲中的一个条目出现。

<div>,另一方面,除了在它的class、lang和title属性中找到的任何含义之外,没有传达任何含义。

所以不:使用<div>没有在HTML中定义一个节。

来自规范:

< >节

The <section> element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content. Each section should be identified, typically by including a heading (h1-h6 element) as a child of the <section> element. Examples of sections would be chapters, the various tabbed pages in a tabbed dialog box, or the numbered sections of a thesis. A Web site’s home page could be split into sections for an introduction, news items, and contact information. ... The <section> element is not a generic container element. When an element is needed only for styling purposes or as a convenience for scripting, authors are encouraged to use the <div> element instead. A general rule is that the <section> element is appropriate only if the element’s contents would be listed explicitly in the document’s outline.

(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 # div元素)

部分是最相关的地标导航辅助技术。要出现在文档大纲或地标列表中,它们需要一个名称,可以通过aria-label, aria- labledby或title来分配:

<section aria-labelledby="s3-h2">
  <h2 id="s3-h2">Introduction</h2>
  …

例如,Mac上的VoiceOver可以提供一个大纲,直接导航到该部分。