何时使用<strong>和何时使用<b>?

25

可能重复:
是否可以盲目使用<strong>代替<b>

何时使用<strong>,何时使用<b>或其他方式来使文本加粗?strong具有语义价值(对于屏幕阅读器有用),而b是表示(在HTML 5中甚至有效)。

我的问题不是strongb之间的区别。

问题是何时使用语义标签,何时只需使文本加粗

如果客户端的内容文件(MS Word文件)在内容段落中有一些粗体的单词,我是否应该始终使用<strong>

alt text http://shup.com/Shup/365676/11051764618-My-Desktop.png

我们如何知道客户想要强调文本,还是只是想要使文本加粗以进行演示/美学目的?

如果这是客户的工作告诉我们,那么如何向客户解释这种情况,以便他能够清楚地告诉我们“什么时候他只是想要使文本加粗以用于演示/美学目的”?


这与你自己的问题非常相似:https://dev59.com/6HE95IYBdhLWcg3wlu-z 那里已经有一些很好的答案了。 - takeshin
1
您提供的示例没有语义意义。在这种情况下,我会使用 **</b>**。 - takeshin
请阅读《重新考虑——为<b>和<i>辩护(或:人们害怕他们不理解的东西)》、《HTML5:<b>和<i>标签将再次有用(即:语义化)!》以及《b元素》。 - Marcel Korpel
2
实际上,这是一个糟糕的示例,因为我们无法提取该文本中单词的语义含义(至少我不能)。 - Marcel Korpel
6个回答

19

我一直遵循一个简单的经验法则:

  • <strong> 表示“强调”,不暗示任何特定的视觉样式,它具有语义意义但看起来可以是任何样子。
  • <b> 用于为文本应用粗体视觉效果,但它是一个表现标签,类似于 <font>,因此应该避免(在可能的情况下)使用,转而使用CSS。

这不是我的问题。顺便问一下,您会使用什么CSS替代<b>呢? - Jitendra Vyas
3
@metal-gear-solid: font-weight: bold; 可能吗? - Dean Harding
@chris - 我的问题是,什么时候使用 <strong>,什么时候使用 <b> 或任何 CSS 替代品?请看我问题的第一行。你解释的那件事我已经知道了。 - Jitendra Vyas
1
@metal-gear-solid - 规则是,“如果您的文本需要语义强调,那么请使用<strong>”,这个规则可以很好地回答您的问题。 <span>不表示任何语义或表现意义,可以用作CSS钩子,而不是<b>。 这并不理想,也不是我个人会做的事情,但它确实有效... 我从未不得不为了表现效果而加粗段落的某些部分,因此我无法在这里给您完整的指南。 - Chris
1
个人而言,当我想象到某个单词在阅读时被强调时,我会使用 strongem。这是我对“语义强调”的定义。那些没有实际被强调但被加粗的单词——比如小学课本中的词汇——则会用 b 或 CSS 加粗。 - Max Lybbert
显示剩余2条评论

12
我们如何知道客户是想强调文本呢,还是只是出于演示/美观等目的而想要加粗文本?
阅读客户的文本并理解其含义。
- 如果上下文表明粗体文本比其他文本更重要(且它是行内的),则使用 标签。 - 如果只是需要加粗文本(即使在数据库、Feed 阅读器或无样式表的情况下也是如此),则使用 标签。在这种情况下,加粗可以用来吸引读者的注意力。 - 如果不确定,请询问客户的意思。
为了方便自己和客户,请建议客户在编辑器中使用格式化样式功能。这是非常有用的功能,可惜很少有人知道这个功能的作用。
编辑:
This is strong and this is bold. Any difference?
所有问题都始于此。如果默认情况下 标签是红色(在 Stack Overflow 上没有红色标记),并且是正常字重,那么就不会有这样的问题了。

3
这个答案存在问题,因为“比其他内容更重要”和“应该用粗体...以吸引读者的注意力”是同一件事情。这是没有实质区别的区分。如果内容不是更重要,那么为什么要吸引读者的注意力呢? - arnoldbird

4

对于这个问题没有一个“正确”的答案(这也许是为什么语义化标记不处于良好状态的原因)。

根据你的客户工作方式,我建议你将段落中加粗的内容替换为 <strong>,其他内容使用相关标题样式,这是合理的。最好抽样检查文档以确定已经使用了哪些做法。


似乎“没有‘正确’答案”是正确的答案,因为大家无论在这里还是其他地方都承认这是个主观问题。 - arnoldbird

3
首先,询问客户“为什么要突出这些单词?”并根据回答来决定如何处理。如果得不到明确的答案,建议使用<B>标签,因为这样可以避免暗示突出的单词具有语义含义而实际上并非如此。使用<B>标签可以清楚地表明你的表示性标记存在问题,并且对于未来的维护者来说是有帮助的,因为它可以在了解突出原因的新信息后自由进行更正。

我不理解有人认为哪个更语义化的建议。B代表粗体。Strong代表强调。两者在语义上并没有更多或更少,它们都表示相同的意思。 - arnoldbird

1
如果您正在将Word文档转换为HTML,则我认为<b>是更好的选择,因为您传达了文本在Word文档中是粗体的事实。Word使用样式应用语义含义,因此如果标记为“强调”样式,则在HTML中使用<strong>标签。

MS Word只有加粗文本的按钮,我认为没有加强文本的按钮。 - Jitendra Vyas
1
@metal-gear-solid:当然有啦:选择文本,应用“加粗”样式。这不是一个单独的“加粗”按钮,但样式是标记Word文档的“语义”方式。 - Dean Harding
2
问题是,95%的Word用户不使用样式(主要是因为他们不知道它们的存在)。 - nico
@nico:我知道。我们在HTML中对<b>标签有些胜利,但我认为在Word中使用样式而不是“B”按钮是一种徒劳的努力 ;) - Dean Harding
样式在UI中的显著性比以前更加突出,它们位于顶部,相当大。我认为有希望。 - Douglas

1

使用CSS为<strong>标签定义除默认粗体以外的样式是可以理解的。

同样在<b>标签上使用CSS则更具有争议性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接