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


当前回答

通常应该尽量避免<b>和<i>。它们在CSS创建之前的早期HMTL版本中被引入用于布局页面(改变它的外观),就像同时删除的字体标签一样,主要是为了向后兼容,因为一些论坛允许内联HTML,这是一种简单的改变文本外观的方法(比如BBCode使用[i],你可以使用<i>等等)。

自从CSS创建以来,布局实际上不再是HTML中应该做的事情,这就是为什么CSS被创建在第一个地方(HTML ==结构,CSS ==布局)。这些标签在未来可能会消失,毕竟,如果你需要一个“毫无意义”的字体变化,你可以使用CSS和span标签来使文本变成粗体/斜体。HTML 5仍然允许这样做,但声明以这种方式标记文本没有意义。

另一方面,<em>和<strong>只表示某些内容被“强调”或“强烈强调”,它让浏览器完全开放如何渲染它。大多数浏览器默认会将em显示为斜体和粗体,但它们并不是被迫这样做的(它们可能使用不同的颜色、字体大小、字体等等)。您可以使用CSS以您想要的方式更改行为。如果你喜欢,你可以让它们加粗,比如加粗和红色。

其他回答

<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说我可以用它们,所以我就用了。

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

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

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

希望大家能理解。

正如其他人所述,区别在于<b>和<i>硬编码字体样式,而<strong>和<em>指示语义,字体样式(或语音浏览器语调,或其他什么)在文本呈现(或语音)时确定。

You can think of this as a difference between a “physical” font style and a “logical” style, if you will. At some later time, you may wish to change the way <strong> and <em> text are displayed, say, by altering properties in a style sheet to add color and size changes, or even to use different font faces entirely. If you've used “logical” markup instead of hardcoded “physical” markup, then you can simply change the display properties in one place each in your style sheet, and then all of the pages that reference that style sheet get changed automatically, without ever having to edit them.

很狡猾,是吧?

这也是为段落、表格单元格、标题文本、标题等定义子样式(在文本标记中使用style=属性引用)以及使用<div>标记的基本原理。您可以在样式表中为逻辑样式定义物理表示,更改会自动反映在引用该样式表的网页中。想要源代码的不同表示形式?重新定义“代码”风格的字体、大小、粗细、间距等。

如果使用XHTML,甚至可以定义自己的语义标记,样式表将为您完成到物理字体样式和布局的转换。

问:strong, b, bold, em, i的区别?

答:这些是内联属性。

Strong:用于在语义上加粗显示文本或突出显示文本。

粗体或b:这个粗体标记只是常规粗体样式的偏移文本。

Em: < Em >标记在语义上强调重要的单词。

I: < I >标签只是斜体样式的偏移文本。

注意:您应该使用<strong></strong>和<em></em>标签,它们的有意义的名称告诉内容的类型。语义标签对SEO也有帮助。

<i>, <b>, <em>和<strong>标签传统上具有代表性。但在HTML5中,它们被赋予了新的语义含义。

<i>和<b>在HTML4中用于字体样式。<i>为斜体,<b>为粗体。在HTML5中,<i>标签具有“替代声音或情绪”的新语义含义,<b>标签具有风格上偏移的含义。

<i>标签的使用例子有:分类名称、技术术语、来自另一种语言的惯用短语、音译、一种思想、西方文本中的船名。例如:

<p><i>I hope this works</i>, he thought.</p>

<b>标记的使用示例包括文档摘要中的关键字、评论中的产品名称、交互式文本驱动软件中的可操作单词、文章导语。

下面的示例段落在风格上与后面的段落有所偏移。

<p><b class="lead">The event takes place this upcoming Saturday, and over 3,000 people have already registered.</b></p>

<em>和<strong>在HTML4中具有强调和强强调的含义。但在HTML5中,<em>表示强调,<strong>表示强烈的重要性。

在下面的例子中,在阅读之前的单词时应该会有语言上的变化。

<p>Make sure to sign up <em>before</em> the day of the event, September 16, 2016</p>

在同样的例子中,我们可以使用<strong>标记,如下所示。

<p>Make sure to sign up <em>before</em> the day of the event, <strong>September 16, 2016</strong></p>

重视活动日期。

MDN裁判:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong