我們經(jīng)常聽到語義化,那它到底有多神秘呢,下面我們就來探討探討。
什么是Html語義化?
Html語義化是指根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標(biāo)簽(代碼語義化)便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時讓瀏覽器的爬蟲和及其很好的解析。
為什么要語義化呢?
-清晰的頁面結(jié)構(gòu)
去掉或樣式丟失的時候,也能讓頁面呈現(xiàn)清晰的結(jié)構(gòu),增加頁面的可讀性。
-支持更多的設(shè)備
屏幕閱讀器(如果訪客有視障)會完全根據(jù)你的標(biāo)記來“讀”你的網(wǎng)頁。如果你使用的含語義的標(biāo)記,屏幕閱讀會根據(jù)你的標(biāo)簽來判斷網(wǎng)頁的內(nèi)容,而不是一個字母一個字母的拼寫出來。
-有利于SEO
和搜索引擎建立良好的溝通,有助于爬蟲抓取更多的有效信息,搜索引擎的爬蟲也依賴于標(biāo)記來確定上下文和各個關(guān)鍵字的權(quán)重。
-便于團隊開發(fā)和維護
在團隊中大家都遵循同一個標(biāo)準(zhǔn),可以減少很多差異化的東西,方便開發(fā)和維護,提高開發(fā)效率,甚至實現(xiàn)模塊化開發(fā)。
-有利于用戶體驗
Html5語義化標(biāo)簽
-header
header標(biāo)簽定義section或document的頁眉。
-nav
nav標(biāo)簽定義導(dǎo)航鏈接的部分。規(guī)范上說nav只能用在頁面主要導(dǎo)航部分上。
-footer
footer標(biāo)簽定義文檔或節(jié)的頁腳。
footer元素應(yīng)當(dāng)含有其包含元素的信息。頁腳通常包含文檔的作者、版權(quán)信息、使用條款鏈接、聯(lián)系信息等等。
-aside
nav標(biāo)簽定義article以外的內(nèi)容。aside的內(nèi)容應(yīng)該與article的內(nèi)容相關(guān)。aside的內(nèi)容用作文章的側(cè)邊欄。
-article,section
-hgroup
-figure,figcaption
-details,summary
在寫HTML代碼時應(yīng)該注意些什么?
-根據(jù)文檔上下文結(jié)構(gòu)合理的選用最適合表達當(dāng)前語義的標(biāo)簽;
-盡可能少的使用無語義的標(biāo)簽div和span;
-不要使用純樣式標(biāo)簽,如b、font、u等,一切表現(xiàn)該用css設(shè)置;
-h標(biāo)簽的使用應(yīng)該根據(jù)重要性逐級遞減,沒有斷層。并且一個頁面只能有一個h1;
-提高關(guān)鍵詞密度,如圖片替換alt,鏈接說明title;
-正確使用內(nèi)容容器,如段落p,列表ul, ol, li, dl, dt, dd
-需要強調(diào)的文本,可以包含在strong或者em標(biāo)簽中(瀏覽器預(yù)設(shè)樣式,能用CSS指定就不用他們),strong默認(rèn)樣式是加粗(不要用b),em是斜體(不用i);
-使用表格時,標(biāo)題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元格要區(qū)分開,表頭用th,單元格用td;
-表單域要用fieldset標(biāo)簽包起來,并用legend標(biāo)簽說明表單的用途;
-每個input標(biāo)簽對應(yīng)的說明文本都需要使用label標(biāo)簽,并且通過為input設(shè)置id屬性,在lable標(biāo)簽中設(shè)置for=someld來讓說明文本和相對應(yīng)的input關(guān)聯(lián)起來。
參考文獻:
1.談?wù)剬TML語義化的理解
2.理解HTML語義化
3.Web語義化
4.Html5語義化標(biāo)簽