語義元素就是你一看元素名就能知道表示其代表的內容的含義。 例如對于文章<article>,有頁頭<header>,目錄<catalog>,內容<content>,頁腳<footer>等信息
一個語義元素能夠清楚的描述其意義給瀏覽器和開發(fā)者。
無語義 元素示例: <div> 和 <span> - 無需考慮內容.
語義元素示例: <form>, <table>, and <img> - 清楚的定義了它的內容.
Internet Explorer 9+, Firefox, Chrome, Safari 和 Opera 支持語義元素。
注意: Internet Explorer 8 及更早版本不支持該元素。 但是文章底部提供了兼容的解決方法.
許多現有網站都包含以下HTML代碼:
<div id="nav">, <div>, 或者 <div id="footer">,
來指明導航鏈接, 頭部, 以及尾部.
HTML5 提供了新的語義元素來明確一個Web頁面的不同部分:
|
<section> 標簽定義文檔中的節(jié)(section、區(qū)段)。比如章節(jié)、頁眉、頁腳或文檔中的其他部分。
根據W3C HTML5文檔: section 包含了一組內容及其標題。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> </head> <body> <section> <h1>HTML5</h1> <p>它是一個新的 HTML 語言版本包含了新的元素,屬性和行為,同時包含了一系列可以被用來讓 Web 站點和應用更加多樣化,功能更強大的技術。 這套技術往往被稱作 HTML5 和它的朋友們,通常簡稱為 HTML5。</p> </section> <section> <h1>CSS3</h1> <p>CSS演進的一個主要變化就是W3C決定將CSS3分成一系列模塊。瀏覽器廠商按CSS節(jié)奏快速創(chuàng)新,因此通過采用模塊方法,CSS3規(guī)范里的元素能以不同速度向前發(fā)展,因為不同的瀏覽器廠商只支持給定特性。但不同瀏覽器在不同時間支持不同特性,這也讓跨瀏覽器開發(fā)變得復雜。 </p> </section> </body> </html>測試看看 ?/?
<article> 標簽定義獨立的內容。.
<article> 元素使用示例:
Forum post
Blog post
News story
Comment
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> </head> <body> <article> <h1>CSS3 </h1> <p>SS3是CSS(層疊樣式表)技術的升級版本,于1999年開始制訂,2001年5月23日W3C完成了CSS3的工作草案, 主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊 。</p> </article> </body> </html>測試看看 ?/?
<nav> 標簽定義導航鏈接的部分。
<nav> 元素用于定義頁面的導航鏈接部分區(qū)域,但是,不是所有的鏈接都需要包含在 <nav> 元素中!
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> </head> <body> <nav> <a href="/html/">HTML</a> | <a href="/css/">CSS</a> | <a href="/js/">JavaScript</a> | <a href="/jquery/">jQuery</a> </nav> </body> </html>測試看看 ?/?
<aside> 標簽定義頁面主區(qū)域內容之外的內容(比如側邊欄)。
aside 標簽的內容應與主區(qū)域的內容相關.
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>HTML5 Example by www.soo66.com</title> </head> <body> <article> <h1>Heading for Article</h1> <p>Text that appears under article</p> </article> <aside> <p>Text that appears under aside</p> </aside> </body> </html>測試看看 ?/?
<header>元素描述了文檔的頭部區(qū)域
<header>元素主要用于定義內容的介紹展示區(qū)域.
在頁面中你可以使用多個<header> 元素.
以下示例定義了文章的頭部:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>HTML5 Example by www.soo66.com</title> </head> <body> <header> <img src="/static/images/logo-n.png" alt="Logo"> </header> <article> <h1>Heading for Article</h1> <p>Text that appears under article</p> </article> </body> </html>測試看看 ?/?
<footer> 元素描述了文檔的底部區(qū)域.
<footer> 元素應該包含它的包含元素
一個頁腳通常包含文檔的作者,著作權信息,鏈接的使用條款,聯系信息等
文檔中你可以使用多個 <footer>元素.
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>HTML5 Example by www.soo66.com</title> </head> <body> <article> <h1>Heading for Article</h1> <p>Text that appears under article</p> </article> <footer> <p>Copyright ©2013</p> </footer> </body> </html>測試看看 ?/?
<figure>標簽規(guī)定獨立的流內容(圖像、圖表、照片、代碼等等)。
<figure> 元素的內容應該與主內容相關,但如果被刪除,則不應對文檔流產生影響。
<figcaption> 標簽定義 <figure> 元素的標題.
<figcaption>元素應該被置于 "figure" 元素的第一個或最后一個子元素的位置。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(cainiaoplus.com)</title> </head> <body> <figure> <img src="venglobe.gif" alt="venglobe" width="304" height="228"> <figcaption>venglobe venglobe venglobe.</figcaption> </figure> </body> </html>測試看看 ?/?
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>語義元素</title> </head> <body> <!--結構元素--> <header>頭部</header> <section>表示一個段落:用于區(qū)域的章節(jié)表述</section> <footer>區(qū)域的頁腳部分</footer> <nav>菜單 導航</nav> <article>表示文章的主體內容</article> <!--塊級元素 用于區(qū)域的劃分--> <aside></aside> <figure> <figcaption></figcaption> </figure> <code>表示一段代碼</code> <dialog>表示對話 <dt>說話的人</dt><dd>內容</dd> </dialog> <!--語義元素--> <mtter>一定范圍的數值</mtter> <time></time> <progress>進度條</progress> <video>視頻</video> <audio>音頻</audio> <!--交互元素--> <details>一段具體內容 通過某個方法顯示</details> <datagrid>用來控制客戶端數據顯示</datagrid> <menu>動態(tài)交互菜單</menu> <command>命名</command> <!--顯示文章案例--> <article> <header> <h1>HTML head 頭部分的標簽</h1> <time>2015年12月12日</time> </header> <p>HTML head 頭部分的標簽、元素有很多,涉及到瀏覽器對網頁的渲染,SEO等等,而各個瀏覽器內核以及各個國內瀏覽器廠商都有些自己的標簽元素,這就造成了很多差異性。移動互聯網時代,head 頭部結構,移動端的meta 元素,顯得更為重要。了解每個標簽的意義,寫出滿足自己需求的head 頭標簽,是本文的目的。本篇以一絲的文章為基礎,進行擴展總結介紹常用的head中各個標簽、元素的意義以及使用場景。</p> <footer> <p>http://www.baidu.com</p> </footer> </article> <!--評論--> <section> <h2>評論</h2> <article> <header> <h3>李四</h3> <p><time pubdata datatime="2013-09-23 10:00 - 11:00">一小時前</time></p> </header> <p>評論內容</p> </article> <article> <header> <h3>李四</h3> <p><time pubdata datatime="2013-09-23 10:00 - 11:00">一小時前</time></p> </header> <p>評論內容</p> </article> </section> </body> </html>測試看看 ?/?
以上的元素都是塊元素(除了<figcaption>).
為了讓這些塊及元素在所有版本的瀏覽器中生效,你需要在樣式表文件中設置一下屬性 (以下樣式代碼可以讓舊版本瀏覽器支持本章介紹的塊級元素):
header, section, footer, aside, nav, article, figure
{
display: block;
}
IE8 及更早IE版本無法在這些元素中渲染CSS效果,以至于你不能使用 <header>, <section>, <footer>, <aside>, <nav>, <article>, <figure>, 或者其他的HTML5 elements.
解決辦法: 你可以使用HTML5 Shiv Javascript腳本來解決IE的兼容問題。
HTML5 Shiv下載地址:http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js
下載后,將以下代碼放入到網頁中:
<!--[if lt IE 9]>
<script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
以上代碼在瀏覽器小于IE9版本時會加載html5shiv.js文件. 你必須將其放置于<head> 元素中,因為 IE瀏覽器需要在頭部加載后渲染這些HTML5的新元素