在知乎上看到有人问到这个问题,于是我便拿出点时间来总结了一下,可能有不对的地方,还请各位朋友指教了:
在HTML4.01中:
<b><i>是视觉要素(presentationl elements),分别表示无意义的加粗,无意义的斜体,表现样式为 { font-weight: bolder },仅仅表示「这里应该用粗体显示」或者「这里应该用斜体显示」,此两个标签在HTML4.01中并不被推荐使用;
<em> 和 <strong> 是表达要素(phrase elements)。<em>(emphasized text)表示一般的强调文本,而<strong>(strong emphasized text)表示比<em>语义更强的的强调文本。
而在新的 HTML5 工作草案 中:
<em> 和 <strong> 仍旧是表达要素(phrase elements)。但这时的<strong>表示html页面上的强调(emphasized text),<em>表示句子中的强调(即强调语义)
对于 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 的不同使用 。
参考文档:http://www.planabc.net/2008/03/14/html5_b_and_i_tags_read_semantic/