在看Bootstrap文檔時,發現了有些HTML標籤實現的是一樣的效果,如<del>
和<s>
,<ins>
和<u>
。作用效果相似,但卻分成了兩個標籤。
(注:使用時建議先查一下支持情況,如<s>
<u>
已經不推薦使用)
上述標籤主要體現在表示的語義不同
這和一道經典面試題很相近:什麼是Web語義化,有什麼好處
Web語義化
語義化主要指使代碼包含含義,不僅僅是表示外觀,利於機器理解。
體現在CSS上,爲有含義的類名
體現在HTML上,爲使用語義元素來表示文檔結構
好處
- 便於搜索引擎收錄,提高頁面搜索排名(SEO),提供更準確的搜索結果
- 屏幕閱讀器可以將其用作路標,以幫助視障用戶瀏覽頁面
- 頁面代碼結構清晰,易於查找
- 有利於團隊代碼維護
使用
用得對 > 不用 > 用錯
使用時主要是爲傳達意義,儘量避免只記住顯示的樣式而錯用的情況
具體問題具體分析,集中精力解決主要矛盾,兼顧次要矛盾
常用的HTML語義化結構
文檔查閱傳送門
常用語義元素的具體使用場景參見: 我的HTML會說話——從實用出發,談談HTML的語義化
大體框架可參考:【譯】停止濫用div! HTML語義化介紹
個人感受
回到最初的問題,拋開被棄用的因素,如果名字分得清,記得住對應的含義,在實踐過程中是會試着用的。但在實際應用中,大多數時候還是<div>
一把梭,因爲記不住太多語義元素,加之變大於不變,最多大的頁面結構使用,裏面就…(菜是原罪)