HTML5之語義化標(biāo)簽

一、為什么HTML5要引入新語義標(biāo)簽

在HTML5出現(xiàn)之前,我們一般采用DIV+CSS布局我們的頁面。但是這樣的布局方式不僅使我們的文檔結(jié)構(gòu)不夠清晰,而且不利于搜索引擎爬蟲對我們頁面的爬取。為了解決上述缺點,HTML5新增了很多新的語義化標(biāo)簽。

二、引入語義化標(biāo)簽的優(yōu)點

引入語義化標(biāo)簽的好處主要有下列三點:

  • 比<div>標(biāo)簽有更加豐富的含義,方便開發(fā)與維護(hù)
  • 搜索引擎能更方便的識別頁面的每個部分
  • 方便其他設(shè)備解析(如移動設(shè)備、盲人閱讀器等)

三、標(biāo)簽詳解

所謂語義化標(biāo)簽就是一種我們僅通過標(biāo)簽名就能判斷出該標(biāo)簽內(nèi)容的語義的標(biāo)簽。下面將介紹<article>、<section>、<nav>、<aside>、<header>、<footer>等HTML5新增的語義化區(qū)塊標(biāo)簽。

(一) header

通常被放置在頁面或者頁面中某個區(qū)塊元素的頂部,包含整個頁面或者區(qū)塊的標(biāo)題、簡介等信息,起到引導(dǎo)與導(dǎo)航的作用。

我們不但可以放置頁面或者頁面中某個區(qū)塊的標(biāo)題,還可以放置搜索表單、logo圖片等元素,按照最新的W3C標(biāo)準(zhǔn),我們還可以放置<nav>導(dǎo)航欄。

下面是一個使用<header>標(biāo)簽的網(wǎng)站頭部實例:

<header>
    ![](images/logo.png)
    <h1>**信息科技有限公司</h1>
</header>

需要注意的是,一個文檔中可以包含一對或者一對以上的<header>標(biāo)簽。標(biāo)簽的位置是次要的,不一定非要顯示在頁面的上方,我們可以為任何需要的區(qū)塊標(biāo)簽添加<header>元素,例如下面將要講解的<article>、<section>等標(biāo)簽。

(二)nav

表示頁面的導(dǎo)航,可以通過導(dǎo)航連接到網(wǎng)站的其他頁面,或者當(dāng)前頁面的其它部分。

<nav>不但可以作為頁面獨立的導(dǎo)航區(qū)域存在,而且我們可以在<header>標(biāo)簽中使用。此外,<nav>標(biāo)簽還可以顯示在側(cè)邊欄中。由此可見,一個頁面之中可以有多個<nav>標(biāo)簽。

根據(jù)HTML5標(biāo)準(zhǔn),<nav>標(biāo)簽只用于頁面的主要導(dǎo)航部分。因為搜索引擎或者屏幕閱讀器會根據(jù)<nav>標(biāo)簽來確定網(wǎng)站的主體內(nèi)容,所以并不是任意一組超鏈接都適合放置在<nav>標(biāo)簽中,我們只要將主要的,基本的鏈接組放進(jìn)<nav>即可,對于有輔助性的頁腳鏈接則不推薦使用<nav>標(biāo)簽。

下面來看一個結(jié)合<header>標(biāo)簽的導(dǎo)航欄應(yīng)用案例:

<header>
   ![](images/logo.png)
   <h1>**信息科技有限公司</h1>
   <nav>
       <li><a href="#">首頁</a></li>
       <li><a href="example.html">客戶案例</a></li>
       <li><a href="service_one.html">技術(shù)服務(wù)</a></li>          
       <li><a href="aboutus_one.html">關(guān)于我們</a></li>
       <li><a href="connection.html">聯(lián)系我們</a></li>
   </nav>
</header>

值得我們注意的是,HTML5規(guī)范不允許將<nav>標(biāo)簽嵌套在<address>標(biāo)簽中使用。

(三)aside

所包含的內(nèi)容不是頁面的主要內(nèi)容、具有獨立性,是對頁面的補(bǔ)充。

<aside>一般使用在頁面、文章的側(cè)邊欄、廣告、友情鏈接等區(qū)域。

示例如下:

<article>
   <h1>HTML5學(xué)習(xí)之語義化標(biāo)簽</h1>
   <p>....正文.....</p>
   <aside>
       <h2>什么是語義化標(biāo)簽</h2>
       <p>語義化標(biāo)簽就是......</p>
   </aside>
</article>

(四)footer

一般被放置在頁面或者頁面中某個區(qū)塊的底部,包含版權(quán)信息、聯(lián)系方式等信息。

跟<header>標(biāo)簽一樣,<footer>標(biāo)簽的使用個數(shù)沒有限制,可以在任意需要的區(qū)塊底部使用。

示例如下:

<footer>
    <small>
        版權(quán)所有 ? 2016-2017 **信息科技有限公司
    </small>
</footer>

(五)article

表示包含于一個文檔、頁面、應(yīng)用程序或網(wǎng)站中的一段獨立的內(nèi)容,可以被獨立的發(fā)布或者重新使用文章標(biāo)記標(biāo)簽。

<article>元素應(yīng)該使用在相對比較獨立、完整的的內(nèi)容區(qū)塊,所以我們可以在一篇博客、一個論壇帖子、一篇新聞報道或者一個用戶評論中使用<article>元素。通常情況下,一個<article>元素包括標(biāo)題、正文和腳注。和<nav>標(biāo)簽一樣,該標(biāo)簽同樣不能用在<address>標(biāo)簽中;

示例如下:

<article>
   <h1>HTML5學(xué)習(xí)之語義化標(biāo)簽</h1>
   <p>....正文.....</p>
   <footer>版權(quán)所有*偽版必究</footer>
</article>

<article>標(biāo)簽還可以嵌套使用,但是它們必須是部分與整體的關(guān)系。例如在一篇發(fā)表的博客中,我們可以對讀者評論使用<article>標(biāo)簽。

示例如下:

<article>
   <h1>HTML5學(xué)習(xí)之語義化標(biāo)簽</h1>
   <p>....正文.....</p>
   <article>
       <header>
           <h2>讀者評論</h2>
       </header>
       <article>
           <header>
               <h3>評論人:張三</h3>
               <p>評論時間:<time datetime="2017-01-17">2017-2-15 11:45:23</time></p>
           </header>
           <p>張三到此一游</p>
       </article>
   </article>
</article>

(六)section

是一個主題性的內(nèi)容分組,通常用于對頁面進(jìn)行分塊或者對文章等進(jìn)行分段

<section>標(biāo)簽所包裹的是有一組相似的主題的內(nèi)容,可以用這個標(biāo)簽來實現(xiàn)文章的章節(jié)、標(biāo)簽式對話框中的各種標(biāo)簽頁等類似的功能。
<section>通常包含一個頭部<header>、可能還會包含一個尾部<footer>。
示例如下:

<article>
    <h1>JavaScript框架</h1>
    <p>Javascript框架是指以Javascript語言為基礎(chǔ)搭建的編程框架。</p>
    <section>
        <h2>angular.Js<h2>
        <p>angular.Js是一款優(yōu)秀的前端JS框架</p>
    </section>
    <section>
        <h2>Vue.js<h2>
        <p>Vue.js是用于構(gòu)建交互式的Web界面的庫</p>
    </section>
    <section>
        <h2>Node.Js<h2>
        <p>Node.js就是運(yùn)行在服務(wù)端的JavaScript</p>
    </section>
</article>

在這篇關(guān)于JS框架的文章中,所列舉的三個框架都是文章主題構(gòu)成的一部分,所以我們使用<section>標(biāo)簽對其進(jìn)行分段。

我們不但可以在<article>標(biāo)簽中使用<section>標(biāo)簽,還可以在<section>標(biāo)簽中使用<article>標(biāo)簽。

示例如下:

<section>
    <h1>HTML5技術(shù)棧</h1>
    <p>廣義而言的HTML5包含HTML、CSS和JavaScript三個部分</p>
    <article>
        <h2>HTML<h2>
        <p>內(nèi)容</p>
    </article>
    <article>
        <h2>CSS<h2>
        <p>樣式</p>
    </article>
    <article>
        <h2>JavaScript<h2>
        <p>行為</p>
    </article>
</section>

在這個例子中,<section>代表一段內(nèi)容,在這段內(nèi)容中,HTML、CSS、Javascript是三個完全獨立的部分,因而我們使用<article>標(biāo)簽。

<div>、<section>、<article>三者的比較:

  • <div>:應(yīng)用廣泛,只要我們想為一個區(qū)域定義一個樣式或者為其添加JS行為,就可以使用div標(biāo)簽
  • <section>:包含的內(nèi)容是一個明確的主題,通常有標(biāo)題區(qū)域
  • <article>:如果我們的頁面中需要一個單獨的模塊來實現(xiàn)一個單獨的功能,就用<article>,其他的時候都用<section>。

四、文檔級別語義

HTML5試圖為每個元素加入一個特定的文檔級別語義。

(一)ruby、rt、rp

ruby是一種排版注釋系統(tǒng),是位于橫排基礎(chǔ)文本上方的簡短文字,主要針對東亞語言作出簡單的讀音注釋。例如可以為中文或日文顯示讀音。

ruby涉及的元素包括ruby、rt以及rp。首先使用ruby指定一個具體的表達(dá)式,然后使用rt提供說明。rt部分將顯示在表達(dá)式上方。

下面這個例子中,拼音將顯示在文字的上方。

<ruby>
    北<rt>bei</rt>
    京<rt>jing</rt>
</ruby>

但是在不支持ruby的瀏覽器中需要使用rp對這兩個區(qū)塊進(jìn)行視覺上的隔離。

<ruby>
    北
    <rp>
        <rt>bei</rt>
    </rp>
    京
    <rp>
        <rt>jing</rt>
    </rp>
</ruby>

(二)time

為了將現(xiàn)在的常用的日期和時間語句用規(guī)范的、利于機(jī)器識別的格式進(jìn)行表述,time元素提供了一個可選的時間和時區(qū)組件。

為了確保機(jī)器能夠正確識別,我們可以使用datetime屬性,其屬性值可以被定義為時間、日期或者這兩者的復(fù)合體。

<time datetime="2017-07-03">

還可以使用pubdate為一個網(wǎng)頁指定發(fā)布時間。

<time datetime="2017-07-03" pubdate>
<!--以下兩種形式也可以行-->
<time datetime="2017-07-03" pubdate="">
<time datetime="2017-07-03" pubdate="pubdate">

注意:在 HTML5中,true或false并非有效的屬性值,當(dāng)解釋器發(fā)現(xiàn)存在布爾屬性時,它將直接解釋為true。如果需要將屬性設(shè)為false,將這個屬性去掉即可。

(三)mark

mark元素用于高亮標(biāo)記一段文字。

可以使用mark元素來標(biāo)記出網(wǎng)頁里被搜索的關(guān)鍵詞或是用于高亮顯示一段解釋性的代碼。

(四)wbr

wbr元素用于讓瀏覽器為長單詞增加可選擇的破折號,以便自動拆行。

在相當(dāng)長的單詞中插入一對wbr元素,可以讓瀏覽器根據(jù)排版的需要決定是否將單詞換行。破折號是否出現(xiàn),以及出現(xiàn)的位置完全由排版決定。wbr只是允許自動拆行,但非強(qiáng)制拆行。

(五)略微改變的元素

在HTML4版本中的標(biāo)簽元素在HTML5中有了新的定義。

使用b表示文檔渲染為粗體,而i表示文檔渲染為斜體。
使用strong和em來強(qiáng)調(diào)一段重要的文本。cite用來為對參考文獻(xiàn)的引用進(jìn)行定義,比如書籍或雜志的標(biāo)題。small不僅僅指的是小字體,它還同樣為法律聲明增添不具有重要性的旁注或小字。hr現(xiàn)在表達(dá)的是主體性的間斷,不再僅僅是分割版面的一條水平線。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML5 標(biāo)簽comment 注釋標(biāo)簽用于在源文檔中插入注釋。注釋內(nèi)容不會被瀏覽器顯示。為代碼編寫注釋的好處是...
    才気莮孒閱讀 4,250評論 1 25
  • 語義化標(biāo)簽,顧名思義也就是可以直接讀懂的標(biāo)簽。最早接觸HTML5的時候,對HTML5的語義化并沒有太深的理解,只是...
    極客人閱讀 4,330評論 1 18
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,165評論 1 92
  • 一、html5語法特點 1.DOCTYPE及字符編碼① 文檔聲明DOCTYPE:<!doctype html>② ...
    MGd閱讀 1,111評論 0 2
  • 本文主要介紹Html5和Html4的區(qū)別。 語法的改變 內(nèi)容類型HTML5 的文件擴(kuò)展符與內(nèi)容類型保持不變。擴(kuò)展符...
    layjoy閱讀 1,936評論 0 23

友情鏈接更多精彩內(nèi)容