div,section,article 的使用区别
1. 结构元素 存在的意义
- 结构 元素:
- 结构 清晰: 在 HTML5 中,为了使 文档的结构 更加清晰明确,追加了几个 与页眉、页脚、内容区块 等文档结构 相关联的 结构元素。
nav, header, footer,aside, section , article
等.
- 内容 区块:
- 逻辑 分割: 内容区块 是指 将 HTML 页面按 逻辑分割后 的单位。
- 例如,对于书籍来说,章、节 可以称为 内容区块;
- 对于 博客网站 来说,导航菜单、文章正文、文章的评论 等每一个部分 都可称为内容区块。
- 逻辑 分割: 内容区块 是指 将 HTML 页面按 逻辑分割后 的单位。
- 结构 清晰: 在 HTML5 中,为了使 文档的结构 更加清晰明确,追加了几个 与页眉、页脚、内容区块 等文档结构 相关联的 结构元素。
2. div,section,article 的使用区别
-
样式化 无区别: 针对一个 块内容 做样式化,三者 并无区别。
-
语义 增强:
div ,section ,article
,语义是 从无到有,逐渐 增强的。 -
三者 基础用法:
- ①
div
- 样式化 或 脚本化: 无任何语义,仅仅用作 样式化 或者 脚本化;
- ②
section
- 主题性 内容: 对于一段 主题性的内容,则就适用
section
; - 强调 主题性的 分区.
- 主题性 内容: 对于一段 主题性的内容,则就适用
- ③
article
- (可脱离的 完整独立的) 主题性内容: 假如一段 主题性内容 脱离上下文后 仍是 完整且独立存在 的一段内容,则就适用
article
。 - 强调 完整和独立性的 主题性分区.
- (可脱离的 完整独立的) 主题性内容: 假如一段 主题性内容 脱离上下文后 仍是 完整且独立存在 的一段内容,则就适用
- ①
2.1 div 标签的使用 (文档的 分区 或节)
div
- 文档的 分区 或节: 定义 文档中的 分区或节。
- 样式 , 布局 和脚本化:
- 使用场合: 作为布局 ,样式化,脚本化时 使用。
- 语义:
- 无语义: 无具体语义,可用在 任何场景,只是对比 H5 标签, 不能清晰地 看懂上下文。
2.2 section 标签的使用 (主题性的 文档的分区/节)
-
section
: -
有主题性的 文档的分区/节: 定义 文档中的节,一般是具有 主题性的 (带有 标题标签
h1~h6
)。 -
使用场合:
- ① 文章的 章节
- ② 标签对话框中的 标签页
- ③ 论文中 有编号的部分 等。
- (都是 很有主题性的 分区(节))
-
主题性 内容:
section
用作 一段有 专题性的内容,一般在它里面会 带有标题。
-
内容 分区(分块):
section
元素 用于对网站 或 应用程序中 页面上的内容 进行分块,或者说 对文章 进行分段;
-
内容 和标题 (组成):
- 没有标题 不使用: 一个
section
元素 通常由 内容及其标题 组成,通常不推荐 为那些 没有标题的内容 使用section
元素。
- 没有标题 不使用: 一个
-
section
不做 普通容器:section
元素 并非一个 普通的容器 元素;div
普通容器: 当一个内容 需要被直接 定义样式 或 通过脚本 定义行为时,推荐使用div
而非section
元素。
-
存储到 数据库 和 输出到 word 文档:
section
元素中 的内容 可以单独 存储 到数据库中 或输出到word
文档中。
-
示例1: 一篇文章,包含 评论区.
-
article
与section
的嵌套方式, 一般如下: -
嵌套关系
article > header | p | section
- ①
header > h1 | p
p > time
- ②
section > h2 | article*2
article > header | p
header > h3 |p
p> time
- ①
-
互相 嵌套:
article
和section
可以 互相嵌套.- ① 可分离的 完整独立的 主题性内容
article
,可以含有 主题性内容section
.- 一篇文章的 评论区 ( 用
section
).
- 一篇文章的 评论区 ( 用
- ② 主题性内容
section
, 可以含有 可分离的 完整独立的 主题性内容article
- 评论区的 每一条 单独的评论 ( 用
article
).
- 评论区的 每一条 单独的评论 ( 用
- ① 可分离的 完整独立的 主题性内容
-
页眉 中放什么: 发表者 和 发表日期,放在 页眉
header
中.- ① 发表者: 用
h3
,比 整篇文章的h1
,和上一层的 评论区h2
,要低等级的 标题. - ② 发表日期
time
,嵌套在p
中 :p > time
- 这样不支持
time
标签,也会显示 出时间,因为时间 内容 放在p
中.<p>发表日期:<time pubdate="pubdate"> 2010/10/10 </time> </p>
- ① 发表者: 用
<article>
<header>
<h1>article元素使用方法</h1>
<p>发表日期:
<time pubdate="pubdate">2010/10/10</time>
</p>
</header>
<p>此标签里显示的是 article 整个文章的主要内容,下面的 section 元素里 是对该文章的评论</p>
<section>
<h2>评论</h2>
<article>
<header>
<h3>发表者:maizi</h3>
<p>
<time pubdate datetime="2016-6-14">1小时前</time>
</p>
</header>
<p>这篇文章很不错啊,顶一下!</p>
</article>
<article>
<header>
<h3>发表者:小妮</h3>
<p>
<time pubdate datetime="2016-6-14T:21-26:00">1小时前</time>
</p>
</header>
<p>这篇文章很不错啊,对 article 解释的很详细</p>
</article>
</section>
</article>
-
文章标题 和 发表日期: 放在
header
中- ❶ 文章标题: 放在了
header
元素中 一级标题h1
中. - ❷ 发表日期:
header > p > time
- ❶ 文章标题: 放在了
-
文章正文: 放在了
header
元素 后面的兄弟标签 段落p
元素中 -
评论区:
section
元素把 正文 与 评论区 进行了区分(是一个分块元素,用来把 页面中的内容 进行区分),在section
元素中 嵌入了 多个人的 评论.- 每条 单独的评论: 评论区中, 每一个人的评论 相对来说又是 比较独立的、完整的,因此对它们都使用一个
article
元素- ❶ 发表者 和发表日期:
header > h3 | p>time
- ❷ 评论内容:
p
- ❶ 发表者 和发表日期:
- 每条 单独的评论: 评论区中, 每一个人的评论 相对来说又是 比较独立的、完整的,因此对它们都使用一个
-
关于 主题性 分区
section
元素的 使用禁忌:- ① 不能 仅仅用于 设置样式: 不要将
section
元素 用作 设置样式 的页面容器,那是div
元素的工作。 - ② 优先级: 如果
article
元素、aside
元素或nav
等 具有 更具体语义的元素 符合使用条件,不要使用section
元素。 - ③ 没有 主题性的内容 别用: 不要为 没有标题的内容区块 使用
section
元素。
- ① 不能 仅仅用于 设置样式: 不要将
2.3 article 标签的使用 (可分离的 完整独立的 主题性内容)
-
article
: -
可分离的 完整独立的 主题性内容
- 定义:独立的 自包含内容。
- 页眉(含标题) 和页脚: 一般来说,
article
会有 标题 部分( 包含在 页眉header
内,header > h1~h6
),有时也会包含 页脚footer
。
-
使用场合:一段内容脱离了 所在的语境,仍是完整的、独立的,则应该用
article
标签。 -
完整 独立 + 独自被引用:
article
元素 代表( 文档、页面或应用程序中) 独立的、完整的、可以独自 被外部引用的 内容。它可以是:- 一篇 博客
- 报刊中的 文章
- 一篇论坛 帖子
- 一段用户评论
- 独立的插件
- 其他任何 独立的内容。
-
更明确的 语义:
article
是一个 特殊的section
标签,它比section
具有 更明确的语义, 它代表一个 独立的、完整的 内容块。
- 示例1: 一篇 关于 article 使用方法的文章
- 嵌套关系
article > header | p | footer
- 文章标题 和 发表日期 (页眉):
header > h1 | p>time
- 文章正文 (段落):
p
- 版权 (页脚):
footer > p > small
- 文章标题 和 发表日期 (页眉):
<article>
<header>
<h1>article 的使用方法</h1>
<p>发表日期:
<time pubdate="pubdate">2010/10/10</time>
</p>
</header>
<p>article 的使用方法是...</p>
<footer>
<p>
<small>Copyright @ tuantuan.net All Rights Reserverd</samll>
</p>
</footer>
</article>
- 示例2: 表示 插件:
article
元素 也可以用来 表示插件,它的作用 是使插件 看起来好像 内嵌在页面中 一样
<article>
<h1>一个插件</h1>
<object>
<param name="allowFullScreen" vlaue="true">
<embed src="#" width="600" height="395"></embed>
</object>
</article>
♣ 结束语 和 友情链接
- 感谢:♥♥♥ 如果这篇文章 对您有帮助的话,可以点赞、评论、关注,鼓励下作者哦,感谢阅读 ~
- 欢迎指正: 如果发现 有需要 更正的细节问题,欢迎指正,谢谢大家 ~╮( ̄▽ ̄)╭
- 转载 请注明出处 ,Thanks♪(・ω・)ノ
- 作者:Hey_Coder
- 来源:CSDN
- 原文:https://blog.csdn.net/VickyTsai/article/details/102766086
- 版权声明:本文为博主原创文章,转载请附上博文链接!