Web | 爲什麼兩個標籤實現作用一樣,但沒有被替代

在看Bootstrap文檔時,發現了有些HTML標籤實現的是一樣的效果,如<del><s><ins><u>。作用效果相似,但卻分成了兩個標籤。
(注:使用時建議先查一下支持情況,如<s> <u>已經不推薦使用)
上述標籤主要體現在表示的語義不同

這和一道經典面試題很相近:什麼是Web語義化,有什麼好處


Web語義化

語義化主要指使代碼包含含義,不僅僅是表示外觀,利於機器理解。
體現在CSS上,爲有含義的類名
體現在HTML上,爲使用語義元素來表示文檔結構

好處

  1. 便於搜索引擎收錄,提高頁面搜索排名(SEO),提供更準確的搜索結果
  2. 屏幕閱讀器可以將其用作路標,以幫助視障用戶瀏覽頁面
  3. 頁面代碼結構清晰,易於查找
  4. 有利於團隊代碼維護

使用

用得對 > 不用 > 用錯
使用時主要是爲傳達意義,儘量避免只記住顯示的樣式而錯用的情況
具體問題具體分析,集中精力解決主要矛盾,兼顧次要矛盾

常用的HTML語義化結構
文檔查閱傳送門
常用語義元素的具體使用場景參見: 我的HTML會說話——從實用出發,談談HTML的語義化
大體框架可參考:【譯】停止濫用div! HTML語義化介紹


個人感受

回到最初的問題,拋開被棄用的因素,如果名字分得清,記得住對應的含義,在實踐過程中是會試着用的。但在實際應用中,大多數時候還是<div>一把梭,因爲記不住太多語義元素,加之變大於不變,最多大的頁面結構使用,裏面就…(菜是原罪)

參考

MDN-Semantics
Why Use Semantic HTML?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章