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


当前回答

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

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

其他回答

对于文本粗体使用<b>标记

对于重要的文本,使用<strong>标记

对于文本斜体样式使用<i>标签

对于强调的文本使用<em>标签

我要冒险从历史和现实的角度来分析:

是的,根据规范,<strong>在HTML4中具有语义意义,<b>具有严格的表示意义。

是的,当HTML5出现时,b和i引入了略有不同的新语义。

是的,W3C基本上推荐TL,DR;不要用b和i。

您应该始终记住,b元素的内容不一定总是粗体,i元素的内容也不一定总是斜体。实际的样式取决于CSS样式定义。您还应该记住,在某些语言中,粗体和斜体可能不是内容的首选样式。如果有更描述性和更相关的标记可用,则不应该使用b和i标记。

BUT:

现实世界的互联网有大量的现有HTML,这些HTML永远不会更新。现实世界的互联网必须考虑在庞大的软件和CMS系统网络之间生成和复制粘贴的内容,这些软件和CMS系统都有不同的开发团队,建立在不同的时代。

因此,如果您正在编写HTML或构建一个为其他人编写HTML的系统,当然,一定要使用<strong>而不是<b>来表示“强烈强调”,因为它在语义上更正确。

但实际上,实际情况是,<strong>和<b>的语义和风格意义已经随着时间的推移而合并。

如果我正在构建一个允许任何样式文本粘贴的CMS,我需要为正在粘贴<b>并表示“强烈强调”的人以及正在粘贴<strong>并表示“使此文本加粗”的人进行计划。这可能不是“正确的”,但这就是现实世界在这个时刻的运作方式。

因此,如果我为该网站写一个样式表,我可能最终会写一些样式,看起来像这样:

b,
strong {
  font-weight: 700;
  /* ... more styles here */
}

i,
em {
  font-style: italic;
  /* ... more styles here */
}

或者,我将依赖于浏览器的默认值,它在我所知道的每个现代浏览器中执行与上述代码相同的任务。

或者,我可能是数百万个使用normalize.css的网站之一,它会注意确保b和strong被同等对待。

世界上已经有如此庞大的HTML海洋在这个期望下工作,我只是无法想象b会被贬低而支持strong,或者浏览器会开始默认地以不同的方式显示它们。

就是这样。这就是我对语义、历史和现实世界的看法。b/i和strong/em是一样的吗?不。在现代文明崩溃之前,它们是否可能在几乎所有情况下都存在并被视为相同?我想是的。

<strong>和<em>为您的文档添加额外的语义含义。它只是这样,他们也给你的文本一个粗体和斜体样式。

你当然可以用CSS覆盖它们的样式。

另一方面,<b>和<i>只应用字体样式,不应该再使用。(因为你应该使用CSS格式,如果文本确实很重要,那么你可能会让它“强”或“强调”!)

希望大家能理解。

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

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

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

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

“它们的效果是一样的。但是,XHTML(一种更干净、更新的HTML版本)推荐使用<strong>标记。Strong更好,因为它更容易读懂——它的意思更清楚。此外,<strong>传达了一种含义-强显示文本-而<b>(用于加粗)传达了一种方法-将文本加粗。使用strong,如果您使用CSS样式表更改使文本强的方法,那么您的代码仍然有意义。

<i>和<em> "之间的差异也是如此。

谷歌迪克西特:

http://wiki.answers.com/Q/What_is_the_difference_between_HTML_tags_b_and_strong