语义元素=具有含义的元素。
语义元素清楚地向浏览器和开发人员描述了其含义。
示例非语义的要素:<div>
和<span>
- 没有透露其内容。
示例语义要素:<form>
,<table>
, 和<article>
- 明确定义其内容。
许多网站都包含 HTML 代码,例如: <div id="nav"> <div class="header"> <div id="footer"> 来指示导航、页眉和页脚。
在 HTML 中,有一些语义元素可用于定义网页的不同部分:
这个<section>
元素定义文档中的一个部分。
根据 W3C 的 HTML 文档:"A section is a thematic grouping of content, typically with a heading."
示例<section>
可以使用元素:
网页通常可以分为介绍部分、内容部分和联系信息部分。
文档中的两个部分:
<section>
<h1>WWF</h1>
<p>The World Wide Fund for Nature (WWF) is an international organization working on issues regarding the conservation, research and restoration of the environment, formerly named the World Wildlife Fund. WWF was founded in 1961.</p>
</section>
<section>
<h1>WWF's Panda symbol</h1>
<p>The Panda has become the symbol of WWF. The well-known panda logo of WWF originated from a panda named Chi Chi that was transferred from the Beijing Zoo to the London Zoo in the same year of the establishment of WWF.</p>
</section>
亲自试一试 »
这个<article>
元素指定独立的、自包含的内容。
一篇文章本身应该有意义,并且应该可以独立于网站的其余部分进行分发。
示例<article>
可以使用元素:
三篇内容独立、自成体系的文章:
<article>
<h2>Google Chrome</h2>
<p>Google Chrome is a web browser developed by Google, released in 2008. Chrome is the world's most popular web browser today!</p>
</article>
<article>
<h2>Mozilla Firefox</h2>
<p>Mozilla Firefox is an open-source web browser developed by Mozilla. Firefox has been the second most popular web browser since January, 2018.</p>
</article>
<article>
<h2>Microsoft Edge</h2>
<p>Microsoft Edge is a web browser developed by Microsoft, released in 2015. Microsoft Edge replaced Internet Explorer.</p>
</article>
亲自试一试 »
使用 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 is a web browser developed by Google, released in 2008. Chrome is the world's most popular web browser today!</p>
</article>
<article class="browser">
<h2>Mozilla Firefox</h2>
<p>Mozilla Firefox is an open-source web browser developed by Mozilla. Firefox has been the second most popular web browser since January, 2018.</p>
</article>
<article class="browser">
<h2>Microsoft Edge</h2>
<p>Microsoft Edge is a web browser developed by Microsoft, released in 2015. Microsoft Edge replaced Internet Explorer.</p>
</article>
</article>
</body>
</html>
亲自试一试 »
这个<article>
元素指定独立的、自包含的内容。
这个<section>
元素定义文档中的部分。
我们可以使用定义来决定如何嵌套这些元素吗?不,我们不可以!
所以,你会发现 HTML 页面<section>
元素包含<article>
元素,以及<article>
元素包含<section>
元素。
这个<header>
元素表示介绍性内容或一组导航链接的容器。
<header>
元素通常包含:
笔记:你可以有几个<header>
一个 HTML 文档中的元素。然而,<header>
不能放置在<footer>
,<address>
或其他<header>
元素。
<article> 的标题:
<article>
<header>
<h1>What Does WWF Do?</h1>
<p>WWF's mission:</p>
</header>
<p>WWF's mission is to stop the degradation of our planet's natural environment,
and build a future in which humans live in harmony with nature.</p>
</article>
亲自试一试 »
这个<footer>
元素定义文档或部分的页脚。
<footer>
元素通常包含:
你可以有几个<footer>
一个文档中的元素。
文档中的页脚部分:
<footer>
<p>Author: Hege Refsnes</p>
<p><a href="mailto:hege@example.com">hege@example.com</a></p>
</footer>
亲自试一试 »
这个<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>
亲自试一试 »
这个<aside>
元素定义了除了其所在内容之外的一些内容(如侧边栏)。
这个<aside>
内容应该与周围的内容间接相关。
显示除其所在内容之外的一些内容:
<p>My family and I visited The Epcot center this summer. The weather was nice, and Epcot was amazing! I had a great summer together with my family!</p>
<aside>
<h4>Epcot Center</h4>
<p>Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p>
</aside>
亲自试一试 »
使用 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>My family and I visited The Epcot center this summer. The weather was nice, and Epcot was amazing! I had a great summer together with my family!</p>
<aside>
<p>The Epcot center is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p>
</aside>
<p>My family and I visited The Epcot center this summer. The weather was nice, and Epcot was amazing! I had a great summer together with my family!</p>
<p>My family and I visited The Epcot center this summer. The weather was nice, and Epcot was amazing! I had a great summer together with my family!</p>
</body>
</html>
亲自试一试 »
这个<figure>
标签指定独立的内容,例如插图、图表、照片、代码列表等。
这个<figcaption>
标签定义了一个标题<figure>
元素。这<figcaption>
元素可以放置为第一个或最后一个子元素<figure>
元素。
这个<img>
元素定义实际图片/插图。
<figure>
<img src="pic_trulli.jpg" alt="Trulli">
<figcaption>Fig1. - Trulli, Puglia, Italy.</figcaption>
</figure>
亲自试一试 »
根据 W3C:"A semantic Web allows data to be shared and reused across applications, enterprises, and communities."
下面是 HTML 中一些语义元素的列表。
Tag | Description |
---|---|
<article> | Defines independent, self-contained content |
<aside> | Defines content aside from the page content |
<details> | Defines additional details that the user can view or hide |
<figcaption> | Defines a caption for a <figure> element |
<figure> | Specifies self-contained content, like illustrations, diagrams, photos, code listings, etc. |
<footer> | Defines a footer for a document or section |
<header> | Specifies a header for a document or section |
<main> | Specifies the main content of a document |
<mark> | Defines marked/highlighted text |
<nav> | Defines navigation links |
<section> | Defines a section in a document |
<summary> | Defines a visible heading for a <details> element |
<time> | Defines a date/time |
有关所有可用 HTML 标签的完整列表,请访问我们的HTML 标签参考。