剛剛在整理瀏覽器默認樣式的時候,看到一作者問道這兩對標簽的不同,於是整理入下:
它們的區別就再於一個是物理元素,一個是邏輯元素。
什么是物理元素?什么是邏輯元素?
物理元素所強調的是一種物理行為,比如說我把一段文字用b標記加粗了,我的意思是告訴瀏覽器應該給我加粗了顯示這段文字,從單詞的語義也可以分析得出,b是Bold(加粗)的簡寫,所以這個B標記所傳達的意思只是加粗,沒有任何其它的作用。
而Strong我們從字面理解就可以知道他是強調的意思,所以我們用這個標記向瀏覽器傳達了一個強調某段文字的消息,而這個Strong就是我們所說的邏輯元素,他是強調文檔邏輯的,並非是通知瀏覽器應該如何顯示。
同樣,I是Italic(斜體),而em是emphasize(強調)。
所以說:物理元素是告訴瀏覽器我應該以何種格式顯示文字,邏輯元素告訴瀏覽器這些文字有怎么樣的重要性。
b 和 i 標簽在現在的 Web 標准潛規則中是不推薦使用,甚至是反對使用的,因為認為他們只是“表現”粗體和斜體,而沒有任何“語義”。更多的用 strong 和 em 標簽代替。
而在新的 HTML5 工作草案 中對於 b 和 i 標簽是這樣定義的:
The b element now represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is emboldened.
// b 元素現在描述為在普通文章中僅從文體上突出的不包含任何額外的重要性的一段文本。例如:文檔概要中的關鍵字,評論中的產品名。或者代表強調的排版方式。
The i element now represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, a ship name, or some other prose whose typical typographic presentation is italicized. Usage varies widely by language.
// i 元素現在描述為在普通文章中突出不同意見或語氣或其他的一段文本,例如:一個分類名稱,一個技術術語,一個外語中的諺語,一個想法等。或者代表斜體的排版方式。
從規范中可以注意到:b 和 i 元素將被賦予真正的語義。更應有預見性注意 b 、i 與 strong 、em 的不同使用 。