看到很多人為了新的section就把div改成section凌简,其實(shí)是錯(cuò)誤的卷扮,section的真正應(yīng)用只是很少荡碾,主要是article里面的標(biāo)簽谨读,
這樣語義化才有效,如果無緣無故把div改為section坛吁,反而是誤導(dǎo)了搜索引擎.
div :
這個(gè)標(biāo)簽是我們見得最多劳殖、用得最多的一個(gè)標(biāo)簽。本身沒有任何語義拨脉,用作布局以及樣式化或腳本的鉤子(hook)哆姻。
section :
與 div 的無語義相對,簡單地說 section 就是帶有語義的 div 了玫膀,但是千萬不要覺得真得這么簡單矛缨。section 表示一段專題性的內(nèi)容,一般會帶有標(biāo)題帖旨』眩看到這里,我們也許會想到解阅,那么一篇博客文章落竹,或者一條單獨(dú)的評論豈不是正好可以用 section 嗎?接著看:
當(dāng)元素內(nèi)容聚合起來更加言之有物時(shí)货抄,應(yīng)該使用 article 來替換 section 述召。
那么朱转,section 應(yīng)該什么時(shí)候用呢?再接著看:
section 應(yīng)用的典型場景有文章的章節(jié)积暖、標(biāo)簽對話框中的標(biāo)簽頁藤为、或者論文中有編號的部分。一個(gè)網(wǎng)站的主頁可以分成簡介夺刑、新聞和聯(lián)系信息等幾部分缅疟。其實(shí)我對這里傳達(dá)信息很感興趣,因?yàn)楦杏X section 和下面要介紹的 artilce 更加適用于模塊化應(yīng)用性誉,這個(gè)話題以后會出篇專門的文章來討論窿吩,這里暫時(shí)略過。
要注意错览,W3C 還警告說:
section 不僅僅是一個(gè)普通的容器標(biāo)簽纫雁。當(dāng)一個(gè)標(biāo)簽只是為了樣式化或者方便腳本使用時(shí),應(yīng)該使用 div 倾哺。一般來說轧邪,當(dāng)元素內(nèi)容明確地出現(xiàn)在文檔大綱中時(shí),section 就是適用的羞海。
article :
article 是一個(gè)特殊的 section 標(biāo)簽忌愚,它比 section 具有更明確的語義, 它代表一個(gè)獨(dú)立的却邓、完整的相關(guān)內(nèi)容塊硕糊。一般來說, article 會有標(biāo)題部分(通常包含在 header 內(nèi))腊徙,有時(shí)也會 包含 footer 简十。雖然 section 也是帶有主題性的一塊內(nèi)容,但是無論從結(jié)構(gòu)上還是內(nèi)容上來說撬腾,article 本身就是獨(dú)立的螟蝙、完整的。
HTML Spec 中接著又列舉了一些 article 適用的場景民傻。
當(dāng) article 內(nèi)嵌 article 時(shí)胰默,原則上來說,內(nèi)部的 article 的內(nèi)容是和外層的 article 內(nèi)容是相關(guān)的漓踢。例如牵署,一篇博客文章中,包含用戶提交的評論的 article 就應(yīng)該潛逃在包含博客文章 article 之中喧半。
問題是怎么才算“完整的獨(dú)立內(nèi)容”碟刺?有個(gè)最簡單的判斷方法是看這段內(nèi)容在 RSS feed 中是不是完整的∈碓停看這段內(nèi)容脫離了所在的語境半沽,是否還是完整的、獨(dú)立的吴菠。
總結(jié) :
? ? ? ? div section article 者填,語義是從無到有,逐漸增強(qiáng)的做葵。div 無任何語義占哟,僅僅用作樣式化或者腳本化的鉤子(hook),對于一段主題性的內(nèi)容酿矢,則就適用 section榨乎,而假如這段內(nèi)容可以脫離上下文,作為完整的獨(dú)立存在的一段內(nèi)容瘫筐,則就適用 article蜜暑。原則上來說,能使用 article 的時(shí)候策肝,也是可以使用 section 的肛捍,但是實(shí)際上,! ! 假如使用 article 更合適之众,那么就不要使用 section ! ! 拙毫。nav 和 aside 的使用也是如此,這兩個(gè)標(biāo)簽也是特殊的 section棺禾,在使用 nav 和 aside 更合適的情況下缀蹄,也不要使用 section 了。
對于 div 和 section膘婶、 article 以及其他標(biāo)簽的區(qū)分比較簡單缺前。對于 section 和 article 的區(qū)分乍看比較難,其實(shí)重點(diǎn)就是看看這段內(nèi)容脫離了整體是不是還能作為一個(gè)完整的竣付、獨(dú)立的內(nèi)容而存在诡延,這里面的重點(diǎn)又在完整身上。因?yàn)槠鋵?shí)說起來 section 包含的內(nèi)容也能算作獨(dú)立的一塊古胆, ! ! 但是它只能算是組成整體的一部分! !肆良,! ! ?article 才是一個(gè)完整的整體 ?! !。
因?yàn)槠鋵?shí)有些時(shí)候每個(gè)人都有自己的看法逸绎,所以難免有難于決斷的時(shí)候惹恃,怎么辦?
在?HTML5 設(shè)計(jì)原理?中棺牧,有一條是專門用來解決類似情況的:
! !最終用戶優(yōu)先,一旦遇到?jīng)_突巫糙,最終用戶優(yōu)先 ! !,! 其次是作者 !颊乘,其次是實(shí)現(xiàn)者参淹,其次標(biāo)準(zhǔn)制定者醉锄,最后才是理論上的完滿。
多讀幾遍 HTML5 設(shè)計(jì)原理浙值,這才是紛繁世界背后的最終奧義恳不。