頁(yè)面結(jié)構(gòu)語(yǔ)義化

為什么需要語(yǔ)義化

易修改、易維護(hù)。
無(wú)障礙閱讀支持。
搜索引擎友好,利于 SEO。
面向未來(lái)的 HTML,瀏覽器在未來(lái)可能提供更豐富的支持
結(jié)構(gòu)語(yǔ)義化
語(yǔ)義元素均有一個(gè)共同特點(diǎn)——他們均不做任何事情。換句話說(shuō),語(yǔ)義元素僅僅是頁(yè)面結(jié)構(gòu)的規(guī)范化,并不會(huì)對(duì)內(nèi)容有本質(zhì)的影響。下圖展示了一個(gè)典型的頁(yè)面結(jié)構(gòu):

頭部

<header>元素有兩種用法,第一是標(biāo)注內(nèi)容的標(biāo)題,第二是標(biāo)注網(wǎng)頁(yè)的頁(yè)眉,如上圖你看到的那樣。除非必要(內(nèi)容標(biāo)題附帶其它信息的情況下:發(fā)布時(shí)間、作者等),一般不在內(nèi)容中使用<header>。因而,網(wǎng)頁(yè)中可以包含多個(gè)<header>元素。按照 HTML5 的規(guī)定,<header>都應(yīng)包含某個(gè)級(jí)別的標(biāo)題,所以應(yīng)隱式或顯式地包含標(biāo)題,通常將不希望顯示的標(biāo)題設(shè)置為display: none;,一方面遵守規(guī)范,另一方面則提供了無(wú)障礙閱讀而不至于影響到頁(yè)面設(shè)計(jì)。

導(dǎo)航欄

導(dǎo)航欄使用<nav>看起來(lái)是理所當(dāng)然的,進(jìn)一步,它也用于一組文章的鏈接。一個(gè)頁(yè)面可以包含多個(gè)<nav>元素,但通常僅僅在頁(yè)面的主要導(dǎo)航部分使用它。
《HTML5:The Missing Manual》中指出了在側(cè)欄使用<nav>標(biāo)簽的兩個(gè)案例:

<nav>

<aside></aside>
<aside></aside>
</nav>


<aside>
<nav>

</nav>
<section></section>
<div></div>
</aside>
如果側(cè)欄中包含其它不同于鏈接的其它區(qū)塊,那么,使用第二種方案顯然更為合適。導(dǎo)航通常包含一組鏈接,普遍認(rèn)為,鏈接使用列表來(lái)組織。
<nav>
<ul>
<li><a href="#" title="鏈接">鏈接</a></li>
<li><a href="#" title="鏈接">鏈接</a></li>
<li><a href="#" title="鏈接">鏈接</a></li>
</ul>
</nav>

附注

<aside>元素并不僅僅是側(cè)欄,它表示與它周圍文本沒(méi)有密切關(guān)系的內(nèi)容。文章中同樣可以使用<aside>元素,來(lái)說(shuō)明文章的附加內(nèi)容、解釋說(shuō)明某個(gè)觀點(diǎn)、相關(guān)內(nèi)容鏈接等等。
當(dāng)<aside>用于側(cè)欄時(shí),其表示整個(gè)網(wǎng)頁(yè)的附加內(nèi)容。通常的廣告區(qū)域、搜索、分享鏈接則位于側(cè)欄。側(cè)欄中的<section>元素規(guī)定了一個(gè)區(qū)域,通常是帶有標(biāo)題的內(nèi)容。
<section>標(biāo)簽適合標(biāo)記的內(nèi)容區(qū)塊:
與頁(yè)面主體并列顯示的小內(nèi)容塊。
獨(dú)立性內(nèi)容,清單、表單等。
分組內(nèi)容,如 CMS 系統(tǒng)中的文章分類區(qū)塊。
比較長(zhǎng)文檔的一部分,可能僅僅是為了正確規(guī)定頁(yè)面大綱。
<div>標(biāo)簽依然是可用的,當(dāng)你覺(jué)得使用其它標(biāo)簽都不太合適的時(shí)候。新的語(yǔ)義元素出現(xiàn)之前,我們總是這么干的!

頁(yè)腳

同可“包羅萬(wàn)象”的<header>元素不同,標(biāo)準(zhǔn)規(guī)定<footer>標(biāo)簽僅僅可以包含版權(quán)、來(lái)源信息、法律限制等等之類的文本或鏈接信息。如果想要在頁(yè)腳中包含其它內(nèi)容,可以使用熟悉的<div>來(lái)幫忙。
<div>
<aside>

</aside>

<footer>

</footer>
</div>

主要內(nèi)容

在早先的 HTML5 版本中并沒(méi)有規(guī)定頁(yè)面主體的標(biāo)簽,相關(guān)的書中經(jīng)常會(huì)說(shuō):除去頭部、尾部、側(cè)欄等其它部分,剩下的自然是主體部分。
然而,HTML5.1 中規(guī)定了一個(gè)<main>標(biāo)簽來(lái)標(biāo)識(shí)主體內(nèi)容。<main>標(biāo)簽不能包含在頁(yè)面其它區(qū)塊元素中,通常是<body>的子標(biāo)簽,或者是全局<div>的子標(biāo)簽。<main>標(biāo)簽可以幫助屏幕閱讀工具識(shí)別頁(yè)面的主體部分,從而讓訪問(wèn)者迅速得到有用的信息。

文章

<article>表示一個(gè)完整的、自成一體的內(nèi)容塊。如文章或新聞報(bào)道。<article>應(yīng)包含完整的標(biāo)題、文章署名、發(fā)布時(shí)間、正文。當(dāng)語(yǔ)義與表現(xiàn)發(fā)生沖突,例如有時(shí)需要將文章分多個(gè)頁(yè)面顯示,那么需要把每個(gè)頁(yè)面的文章區(qū)域都用<article>標(biāo)記。文章中包含插圖時(shí),使用新的語(yǔ)義元素<figure>標(biāo)簽。
<article>
<h1>標(biāo)題</h1>
<p>

</p>
<figure>
<img src="#" alt="插圖">
<figcaption>這是一個(gè)插圖</figcaption>
</figure>
</article>

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

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

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