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


当前回答

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

<strong>和<em>是语义上的-它们指定所包含的文本应该以某种方式“强”或“强调”,通常是粗体和斜体,但允许通过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>和<em>在语义上当然更正确,但对于客户编写的内容,似乎有明确的合法理由使用<b>和<i>标记。

在这些内容中,单词或短语可能会加粗或斜体,我们通常不需要分析这种加粗或斜体的语义推理。

此外,这些内容可能是指粗体和斜体的单词和短语,以传达特定的含义。

例如,英语考试题目要求学生替换黑体字。

B或I表示您希望文本显示为粗体或斜体。Strong或em意味着你希望文本以一种用户理解为“重要”的方式呈现。默认是将strong显示为粗体,em显示为斜体,但一些其他区域性可能使用不同的映射。

就像程序中的字符串一样,b和i将被“硬编码”,而strong和em将被“本地化”。

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

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

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

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

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

答:这些是内联属性。

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

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

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

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

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