HTML 语义元素
语义元素 = 具有含义的元素。
什么是语义元素?
语义元素能够清晰地描述其含义给浏览器和开发者。
非语义元素的例子:<div> 和 <span> - 没有提供任何关于其内容的信息。
语义元素的例子:<img>、<table> 和 <article> - 明确定义其内容。
HTML 中的语义元素
许多网站包含如下的 HTML 代码:<div id="nav">、<div class="header">、<div id="footer"> 来表示导航、页眉和页脚。
在 HTML 中,有多个语义元素可用于定义网页的不同部分:
HTML <section> 元素
<section> 元素定义文档中的一个节。
根据 W3C 的 HTML 文档:“节是对内容进行主题分组,通常带有标题。”
<section> 元素可以使用的示例:
- 章节
- 简介
- 新闻项目
- 联系信息
一个网页通常可以分为简介、内容和联系信息等部分。
实例
文档中的两个节:
<section> <h1>WWF</h1> <p>世界自然基金会(WWF)是一个致力于环境保护、研究和恢复的国际组织,前身为世界野生动物基金会。WWF 成立于 1961 年。</p> </section> <section> <h1>WWF 的熊猫标志</h1> <p>熊猫已成为 WWF 的象征。WWF 著名的熊猫标志源于一只名叫 Chi Chi 的熊猫,它在北京动物园被转移到伦敦动物园的那一年,正是 WWF 成立的同一年。</p> </section>
HTML <article> 元素
<article> 元素指定独立、自包含的内容。
一篇文章应具有独立的意义,并且应该可以独立于网站的其他部分进行分发。
<article> 元素可以使用的示例:
- 论坛帖子
- 博客文章
- 用户评论
- 产品卡片
- 报纸文章
实例
三篇具有独立、自包含内容的文章:
<article> <h2>Google Chrome</h2> <p>Google Chrome 是由 Google 开发的网页浏览器,于 2008 年发布。Chrome 是当今世界上最流行的网页浏览器!</p> </article> <article> <h2>Mozilla Firefox</h2> <p>Mozilla Firefox 是由 Mozilla 开发的开源网页浏览器。自 2018 年 1 月以来,Firefox 一直是第二受欢迎的网页浏览器。</p> </article> <article> <h2>Microsoft Edge</h2> <p>Microsoft Edge 是由 Microsoft 开发的网页浏览器,于 2015 年发布。Microsoft Edge 取代了 Internet Explorer。</p> </article>
实例 2
使用 CSS 为 <article> 元素设置样式:
<html>
<head>
<style>
.all-browsers {
margin: 0;
padding: 5px;
background-color: lightgray;
}
.all-browsers > h1, .browser {
margin: 10px;
padding: 5px;
}
.browser {
background: white;
}
.browser > h2, p {
margin: 4px;
font-size: 90%;
}
</style>
</head>
<body>
<article class="all-browsers">
<h1>Most Popular Browsers</h1>
<article class="browser">
<h2>Google Chrome</h2>
<p>Google Chrome 是由 Google 开发的网页浏览器,于 2008 年发布。Chrome 是当今世界上最流行的网页浏览器!</p>
</article>
<article class="browser">
<h2>Mozilla Firefox</h2>
<p>Mozilla Firefox 是由 Mozilla 开发的开源网页浏览器。自 2018 年 1 月以来,Firefox 一直是第二受欢迎的网页浏览器。</p>
</article>
<article class="browser">
<h2>Microsoft Edge</h2>
<p>Microsoft Edge 是由 Microsoft 开发的网页浏览器,于 2015 年发布。Microsoft Edge 取代了 Internet Explorer。</p>
</article>
</article>
</body>
</html>
将 <article> 嵌套在 <section> 中还是相反?
<article> 元素指定独立、自包含的内容。
<section> 元素定义文档中的一个节。
我们可以使用这些定义来决定如何嵌套这些元素吗?不,我们不能!
因此,您会发现 HTML 页面中有 <section> 元素包含 <article> 元素的情况,以及 <article> 元素包含 <section> 元素的情况。
HTML <header> 元素
<header> 元素表示介绍性内容或一组导航链接的容器。
<header> 元素通常包含:
- 一个或多个标题元素(
<h1>-<h6>) - 徽标或图标
- 作者信息
注意:您可以在一个 HTML 文档中拥有多个 <header> 元素。但是,<header> 不能放在 <footer>、<address> 或另一个 <header> 元素内。
实例
<article> 的页眉:
<article>
<header>
<h1>WWF 做什么?</h1>
<p>WWF 的使命:</p>
</header>
<p>WWF 的使命是阻止我们星球自然环境的退化, 并构建一个人类与自然和谐共处的未来。</p>
</article>
HTML <footer> 元素
<footer> 元素定义文档或节的页脚。
<footer> 元素通常包含:
- 作者信息
- 版权信息
- 联系信息
- 网站地图
- 返回顶部链接
- 相关文档
您可以在一个文档中拥有多个 <footer> 元素。
实例
文档中的一个页脚节:
<footer> <p>作者:Bill Gates</p> <p><a href="mailto:bill@example.com">bill@example.com</a></p> </footer>
HTML <nav> 元素
<nav> 元素定义一组导航链接。
请注意,并非文档中的所有链接都应放在 <nav> 元素内。<nav> 元素仅适用于主要的导航链接块。
浏览器(例如为残疾用户提供的屏幕阅读器)可以使用此元素来决定是否省略此内容的初始呈现。
实例
一组导航链接:
<nav> <a href="/html/">HTML</a> | <a href="/css/">CSS</a> | <a href="/js/">JavaScript</a> | <a href="/jquery/">jQuery</a> </nav>
HTML <aside> 元素
<aside> 元素定义与其放置位置内容相关但独立的旁注内容(如侧边栏)。
<aside> 内容应与周围内容间接相关。
实例
显示与放置位置内容相关的旁注内容:
<p>今年夏天,我和家人参观了艾波卡特中心。天气很好,艾波卡特很棒!我和家人度过了一个美好的夏天!</p> <aside> <h4>艾波卡特中心</h4> <p>艾波卡特是华特迪士尼世界度假区的一个主题公园,设有令人兴奋的景点、国际展馆、获奖的烟火和季节性特别活动。</p> </aside>
实例 2
使用 CSS 为 <aside> 元素设置样式:
<html>
<head>
<style>
aside {
width: 30%;
padding-left: 15px;
margin-left: 15px;
float: right;
font-style: italic;
background-color: lightgray;
}
</style>
</head>
<body>
<p>今年夏天,我和家人参观了艾波卡特中心。天气很好,艾波卡特很棒!我和家人度过了一个美好的夏天!</p>
<aside>
<p>艾波卡特是华特迪士尼世界度假区的一个主题公园,设有令人兴奋的景点、国际展馆、获奖的烟火和季节性特别活动。</p>
</aside>
<p>今年夏天,我和家人参观了艾波卡特中心。天气很好,艾波卡特很棒!我和家人度过了一个美好的夏天!</p>
<p>今年夏天,我和家人参观了艾波卡特中心。天气很好,艾波卡特很棒!我和家人度过了一个美好的夏天!</p>
</body>
</html>
HTML <figure> 和 <figcaption> 元素
<figure> 标签指定自包含的内容,如插图、图表、照片、代码清单等。
<figcaption> 标签定义 <figure> 元素的标题。<figcaption> 元素可以作为 <figure> 元素的第一个或最后一个子元素放置。
<img> 元素定义实际的图像/插图。
实例
<figure> <img src="trulli.jpg" alt="特鲁利建筑"> <figcaption>图 1 - 意大利普利亚的特鲁利建筑。</figcaption> </figure>
为什么使用语义元素?
根据 W3C:“语义 Web 允许数据在应用程序、企业和社区之间共享和重用。”
HTML 中的语义元素
以下是 HTML 中一些语义元素的列表。
| 标签 | 描述 |
|---|---|
| <article> | 定义独立、自包含的内容。 |
| <aside> | 定义与页面内容相关的旁注内容。 |
| <details> | 定义用户能够查看或隐藏的额外细节。 |
| <figcaption> | 定义 <figure> 元素的标题。 |
| <figure> | 规定自包含的内容,如插图、图表、照片、代码清单等。 |
| <footer> | 定义文档或节的页脚。 |
| <header> | 规定文档或节的页眉。 |
| <main> | 规定文档的主内容。 |
| <mark> | 定义标记/高亮文本。 |
| <nav> | 定义导航链接。 |
| <section> | 定义文档中的节。 |
| <summary> | 定义 <details> 元素的可见标题。 |
| <time> | 定义日期/时间。 |
如需查看所有可用 HTML 标签的完整列表,请访问我们的 HTML 标签参考手册。