协慌网

登录 贡献 社区

<section> 和 <div> 有什么区别?

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

答案

<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

<section>标记一个部分<div>标记一个没有相关语义的通用块。

<div> Vs <Section>

第 1 轮

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

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


第 2 轮

<div>: 浏览器支持 在此输入图像描述

<section>: 浏览器支持

表中的数字指定了完全支持该元素的第一个浏览器版本。 在此输入图像描述

在这种情况下,div 仅与纯 CSS 或 DOM 视角相关,而 section 也与语义相关,并且在不久的将来也与搜索引擎进行索引相关。