HTML語義化是什么?
語義化是指根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標(biāo)簽(代碼語義化),便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時(shí),讓瀏覽器的爬蟲和機(jī)器很好的解析。
為什么要語義化?
- 有利于SEO,有助于爬蟲抓取更多的有效信息,爬蟲是依賴于標(biāo)簽來確定上下文和各個(gè)關(guān)鍵字的權(quán)重。
- 語義化的HTML在沒有CSS的情況下也能呈現(xiàn)較好的內(nèi)容結(jié)構(gòu)與代碼結(jié)構(gòu)
- 方便其他設(shè)備的解析
- 便于團(tuán)隊(duì)開發(fā)和維護(hù)
寫HTML代碼時(shí)應(yīng)注意什么?
- 盡可能少的使用無語義的標(biāo)簽div和span;
- 在語義不明顯時(shí),既可以使用div或者p時(shí),盡量用p, 因?yàn)閜在默認(rèn)情況下有上下間距,對(duì)兼容特殊終端有利;
- 不要使用純樣式標(biāo)簽,如:b、font、u等,改用css設(shè)置。
- 需要強(qiáng)調(diào)的文本,可以包含在strong或者em標(biāo)簽中(瀏覽器預(yù)設(shè)樣式,能用CSS指定就不用他們),strong默認(rèn)樣式是加粗(不要用b),em是斜體(不用i);
- 使用表格時(shí),標(biāo)題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元格要區(qū)分開,表頭用th,單元格用td;
- 表單域要用fieldset標(biāo)簽包起來,并用legend標(biāo)簽說明表單的用途;
- 每個(gè)input標(biāo)簽對(duì)應(yīng)的說明文本都需要使用label標(biāo)簽,并且通過為input設(shè)置id屬性,在lable標(biāo)簽中設(shè)置for=someld來讓說明文本和相對(duì)應(yīng)的input關(guān)聯(lián)起來。