在HTML/XHTML中<b>和<strong>, <i>和<em>之间的区别是什么?什么时候使用它们?


当前回答

<b>和<i>应该避免使用,因为它们描述了文本的风格。相反,使用<strong>和<em>,因为它们描述了文本的语义(含义)。

与HTML中的所有内容一样,您不应该考虑您希望它看起来如何,而是应该考虑您的实际含义。当然,对你来说可能只是粗体和斜体,但对屏幕阅读器来说不是。

其他回答

<b>和<i>,没有实际的语义意义(就像@splattne指出的那样)是正确的,在很久以前。在现代HTML5 (<!DOCTYPE html>)它们确实有意义。查看以下链接。

语义(来自MDN)

<b>:引起注意元素 摘要中的关键字 产品名称。

<p>Here at company XYZ, we use <b>HTML</b> and <b>Javascript</b>.</p>

<i>: Idiomatic Text元素 不同的声音或情绪 分类学名称(如“智人”属和种) 来自另一种语言的惯用术语(如“等等”) 技术术语

<p>I <i>did</i> tell him, to arrive on time for the meeting.</p>

<b> vs. <strong>

认识到这两者在HTML5中都是有效的语义元素,并且它们在大多数浏览器中都具有相同的默认样式(粗体)可能会有所帮助(尽管一些较老的浏览器实际上下划线<strong>)。每个元素都是在特定类型的场景中使用的,如果你想要加粗文本作为装饰,你应该实际使用CSS font-weight属性。源

<i> vs. <em>

<em>元素表示其内容的重音强调,而<i>元素表示与普通散文分开的文本。源

我的2美分

我个人更喜欢<b>和< I >而不是<strong>和<em>。

它们更短,从开发人员的角度来看,它们的语义也很有意义。 我不知道今天的屏幕阅读器是否能和它们一起工作。如果没有,我想他们最终会的。A18n是一个很难的主题,我只是遵循文档的引导。MDN说我可以用它们,所以我就用了。

<em>和<strong>消耗的带宽大于<i>和<b>。

它们还需要更多的输入(如果不是自动生成的话)。

它们还会让编辑器屏幕上充斥着更多的文本。我似乎记得程序员喜欢小一点的源文件,如果它们是相同的。(让我们面对现实吧,它们是一样的。是的,确实存在“技术”差异(<i>咳嗽</i>,咳咳,不好意思),但这基本上是假的。)

对于上面的任何标记,如果您需要它们与默认呈现不同,您可以使用样式表自定义它们的显示方式。

<b>和<i>是显式的-它们分别指定粗体和斜体。

<strong>和<em>是语义上的-它们指定所包含的文本应该以某种方式“强”或“强调”,通常是粗体和斜体,但允许通过CSS控制实际的样式。因此,这些是现代网页的首选。

我同时使用<strong>和<b>,实际上,正是因为这个回复线程中提到的原因。有些时候,某些文本加粗看起来更好,但在语义上并不一定比句子的其他部分更重要。下面是我现在正在做的一个例子:

"检索<strong>所有</strong>书籍关于<b>长曲棍球</b>。"

在这句话中,单词“all”非常重要,而“lacrosse”就不那么重要了——我只是想把它加粗,因为它代表一个搜索词,所以我想在视觉上进行一些分离。如果你正在用屏幕阅读器浏览页面,我真的不认为它需要特意强调“长曲棍球”这个词。

我倾向于想象大多数web开发人员使用其中的一种,但两者都很好-<b>绝对不会被弃用,就像一些人声称的那样。对我来说,这只是视觉吸引力和意义之间的细微差别。

在HTML Lang中,这两个标签的用法如下:

simple text this is test text normal text



simple text this is important textwith normal text

这两个HTML标记之间的主要区别是,粗体只使文本在视觉上看起来粗体,而强符号也将各自的文本视为必要的,并表明它是一个清晰的单词或文本部分。

这种差异是由于HTML代码区分了符号标记和物理可视HTML标记。前者指的是相关区域的含义,后者只是定义了浏览器中的光学显示。