<b>和<strong>,<i>和<em>之间有什么区别?

HTML / XHTML中的<b><strong><i><em>什么区别? 你应该什么时候使用每个?

它们在普通的网页浏览器渲染引擎上相同的效果 ,但是它们之间有根本的区别

正如作者在讨论清单中写道:

想想三种不同的情况:

  • 网页浏览器
  • 盲人
  • 手机

“大胆”是一种风格 – 当你说“大胆的一个字”时 ,人们基本上知道这意味着在信件的周围添加更多,比如说“墨水”,直到它们在其他字母中更突出。

不幸的是,这对盲人毫无意义。 在手机和其他PDA上,文字已经大胆,因为屏幕分辨率非常小。 你不能胆大胆,不要把事情搞砸。

<b>是一种风格 – 我们知道“大胆”应该是什么样子。

然而,这表明应该如何理解 。 “强”可能(通常是)在浏览器中意味着“大胆”,但也可能意味着像大白鲨这样的讲话程序(对于盲人),或者用下划线表示较低的语调(因为你不能大胆地大胆)在一个棕榈飞行员。

HTML从来就不是关于风格的。 搜索 “Tim Berners-Lee”“语义网站”。 <strong>是语义的,它描述了它所围绕的文本(例如, “这个文本应该比你所显示的文本的其余部分更强” ),而不是描述应该如何显示它所围绕的文本(例如, “this文字应该大胆“ )。

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

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

<strong><em>为文档添加额外的语义。 恰巧,他们也给了你的文字一个大胆和斜体的风格。

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

另一方面, <b><i>只应用字体样式,不应再使用。 (因为你应该使用CSS进行格式化,如果文本实际上很重要,那么无论如何你可能会使它变得“强壮”或者“强调”)!

希望是有道理的。

<b><i>都与风格有关,而<em><strong>是语义的。 在HTML 4中,第一个被分类为字体样式元素 ,后者被分类为短语元素 。

正如您指出的那样, <i><em>经常被认为是相似的,因为浏览器经常以斜体显示。 但是根据规范, <em> 表示强调<strong> 表示更强调 ,这很清楚,但经常被误解。 另一方面,何时使用<i><b>的区别确实是一个风格问题。

尽管<strong><em>当然更符合语义,但是在客户编写的内容中使用<b><i>标签似乎有明确的合理理由。

在这样的内容中,单词或短语可以用粗体或斜体表示,通常不是我们来分析这种粗体或斜体的语义推理。

此外,这样的内容可以用粗体和斜体字来表示特定的含义。

一个例子是一个英语考试问题,指导学生取代加粗的单词。

下面是定义的总结和建议的用法:

<b> …为实用目的而引起注意的一段文本,没有表达任何额外的重要性,也没有语音或情绪的替代,例如文档摘要中的关键词 ,评论中的产品名称 ,交互式文本驱动的软件中的可操作的词 ,或文章

现在代表重要性而不是强调重点。

……以一种交替的声音或情绪表示一段文本,或以一种表示不同文本质量的方式,例如分类指定技术术语来自另一种语言习语 ,西方文本中的思想船名

表示重点。

(这些都是来自W3C源代码的直接引用,我的重点已经添加了。请参阅: https : //rawgithub.com/whatwg/html-differences/master/Overview.html#changed-elements和http://www.w3.org /TR/html401/struct/text.html#h-9.2.1原始文件)

正如其他人所说的,<b>和<i>是明确的(即“使这个文本变成粗体”),而<strong>和<em>是语义的(即“应该强调这个文本”)。

在现代网络浏览器的背景下,很难看出其中的差异(它们看起来都产生了相同的结果,对吧?),但是为视觉障碍者考虑屏幕阅读器。 如果屏幕阅读器遇到一个<i>标签,它不知道该怎么做。 但是,如果遇到一个<em>标签,它就知道应该向听众强调任何内容。 在这里你会得到实际的区别。

正如其他人所说的,不同的是, <b><i>硬编码字体样式,而<strong><em>指定语义,字体样式(或说话的语调,或什么是你)在文本呈现(或说出)时被确定。

如果您愿意的话,您可以将其视为“物理”字体样式和“逻辑”样式之间的区别。 稍后,您可能希望更改显示<strong><em>文本的方式,例如,通过更改样式表中的属性来添加颜色和大小更改,甚至完全使用不同的字体。 如果您使用“逻辑”标记而不是硬编码的“物理”标记,则可以简单地在样式表中的一个位置更改显示属性,然后所有引用该样式表的页面都会自动更改永远不得不编辑它们。

很漂亮,对吧?

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

如果你使用XHTML,你甚至可以定义自己的语义标签,你的样式表可以为你转换为物理字体样式和布局。

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

就像HTML中的所有东西一样,你应该不考虑你想要的外观 ,而是你实际上的意思 。 当然,这可能只是大胆和斜体,而不是屏幕阅读器。

只有在使用CSS样式类是出于任何原因不方便或不可能的情况下(比如博客系统,只允许在帖子中使用一些标签并最终嵌入样式),才能使用它们。 另一个原因是支持非常旧的浏览器(一些移动设备?)或原始搜索引擎(为<b><strong>标记提供点数,而不是分析CSS样式)。

如果您可以定义CSS样式,请使用它们。

<em><strong>消耗比<i><b>更多的带宽。

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

他们还用更多的文本混乱编辑器屏幕。 我似乎记得,如果程序员是相同的,就像较小的源文件一样。 (让我们成为现实吧,他们是一样的,是的,有“技术性”( 咳嗽 ,呃,不好意思)差异,但是这大多是假的。)

使用上述标签中的任何一个,您可以使用样式表来自定义它们如何显示,但是如果您需要显示与默认渲染不同的样式表。

HTML格式元素:

HTML还定义了用于定义具有特殊含义的文本的特殊元素。 HTML使用像和格式输出的元素,如粗体或斜体文本。

HTML粗体和强格式化:

HTML元素定义了粗体文本,没有任何额外的重要性。

 <b>This text is bold</b> 

HTML 元素定义了强壮的文本,增加了语义“强大”的重要性。

 <strong>This text is strong</strong> 

HTML斜体和强调格式:

HTML元素定义了斜体文本,没有任何额外的重要性。

 <i>This text is italic</i> 

HTML元素定义了强调的文本,增加了语义的重要性。

 <em>This text is emphasized</em> 

bi表示您希望文本呈现为粗体或斜体。 em表示您希望文本以用户理解为“重要”的方式呈现。 默认情况下,渲染效果如粗体和斜体,但其他文化可能会使用不同的映射。

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

“他们有同样的效果,但是XHTML是一个更清洁,更新的HTML版本,推荐使用<strong>标签,Strong更好,因为它更容易阅读 – 其含义更清晰。一个含义 – 强烈地显示文本 – 而<b> (用于粗体)传达一个方法 – 用粗体显示文本强壮的,如果你使用CSS样式表来改变文本强壮的方法,你的代码仍然是有意义的。

<i><em>之间的区别也是一样的。

Google dixit:

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

实际上,我同时使用<strong>和<b>,正是在这个回应的主线中提到的原因。 有些时候,大胆的面对一些文本看起来更好,但它不一定在语义上比其余的句子更重要。 以下是我现在正在处理的一个页面的示例:

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

在这句话中,“全部”这个词非常重要,“曲棍球”这个词不那么重要 – 我只是希望它是大胆的,因为它代表了一个搜索词,所以我想要一些视觉上的分离。 如果你正在用屏幕阅读器浏览页面,我真的不认为它需要强调“长曲棍球”这个词。

我倾向于想象大多数网络开发者使用其中一种,但都是好的 – 正如一些人所声称的那样,绝对不会这样做。 对我来说,这仅仅是视觉上的吸引力和意义之间的一条细线。

你应该尽量避免<b><i> 。 他们被引入“布局”的页面(如同时删除font标签)和布局是不应该在HTML中完成,它应该在CSS(HTM ==结构,CSS ==布局)中完成。 这些标签可能会在未来消失,毕竟你可以使用CSS和span标签来使文本加粗/斜体。

而另一方面,只是说“强调”或“强调”某种东西,这使得它完全向兄弟敞开了如何去呈现它。 大多数浏览器都会使用粗斜体和粗斜体,但是他们不会被强制使用(他们可能会使用不同的颜色,字体大小,字体等)。 您可以使用CSS以您想要的方式更改行为。 如果你喜欢,你可以使他们大胆,例如,强壮的大胆和红色。

我,B,EM和强标签传统上是代表性的。 但是它们在html5中被赋予了新的语义含义

b被用于html4中的字体样式。 被用于斜体, b用于粗体。 在html5中。 我的标签具有“ 交替的声音或情绪 ”的新语义,而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> 

emstrong在html4中有着强调和强调的意义。 但是在html5中, em意味着强调重点强大的意义

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

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

在同一个例子中,我们可以使用如下标签。

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

重视事件日期。

MDN Ref:

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

<strong><em>是抽象的(当人们说它是语义时,这就是人们的意思)。 <b><i>是使某些“强”或“强调”的具体方式

<strong><b> ::车辆::吉普车

我们对产品名称,公司名称等具有高优先级的文本使用<strong>标签,而<b>简单则使其粗体。

类似地,我们使用具有高优先级的文本的<em> ,而使文本简单的斜体。