HTML5中的<b> vs <span>

Eva*_*Eva 7 html5 semantic-markup

我一直难以决定何时使用b以及何时使用span.b元素的新语义看起来很模糊.

b元素代表一系列文本,在没有传达任何额外重要性且没有任何替代声音或情绪的暗示的情况下,为实用目的而引起注意

听起来就像你不能使用strong,em或i时使用的标签.

当没有其他元素更合适时,b元素应该作为最后的手段.

但是,当短语内容还没有适用的标签时,我们已经有了跨度.

span元素本身并不代表任何东西......它代表了它的孩子.

有一个示例用途列表

文档摘要中的关键词,评论中的产品名称,交互式文本驱动软件中的可操作单词或文章

但是我找不到将它们联系在一起的基本原则,而不是将它们塑造成大胆的.在旧规范甚至提到风格:

b元素表示文本范围在风格上偏离正常散文[强调添加]

样式是为CSS.我们还建议使用类来显示实际含义

作者可以使用b元素上的class属性来标识元素的使用原因

这听起来好像使用太多,不能单独按标签分组.我也可以使用类来解释span的语义.

span元素...与全局属性(例如class,lang或dir)一起使用时非常有用.

例子

如果我想要这个:

你的CS 101决赛的得分为42%.

我写吗

Your score for <b>CS 101 Final</b> is 42%.
Run Code Online (Sandbox Code Playgroud)

要么

Your score for <span>CS 101 Final</span> is 42%.
Run Code Online (Sandbox Code Playgroud)

或者对于这个:

答案: 42

可不可能是

<b>Answer</b> 42
Run Code Online (Sandbox Code Playgroud)

要么

<span>Answer</span> 42
Run Code Online (Sandbox Code Playgroud)

(它只是一个键值对,因此定义列表不适用.)

我不只是想知道各个例子的正确标签.我想知道为什么他们是对的.我用什么标准来决定ab或span标签?

Alo*_*hci 3

第一个例子相当简单。您试图让“CS 101 Final”引人注目,因为它比“您的得分”文本更重要。所以那是

Your score for <strong>CS 101 Final</strong> is 42%.

有了<b>,您就不会试图吸引眼球。您希望整个文本被均匀地阅读,但您将某些单词和短语标记为对读者有用(功利目的)。坦率地说,这个的用途并不多。该规范给出了冒险游戏和报告中关键字的示例,但要找到许多用途并不容易。

第二个例子比较棘手。在这里,“答案”在风格上被抵消了。“答案”这个词绝对不比实际的答案文本更重要,也不需要出于任何其他原因引起读者的特别注意。它只是被标记为与实际答案文本不同。然而,该规范在“没有专用元素的常见习语”部分中建议使用 来<b>标记对话中的说话者,并且使用它可以被视为与此类似。但基本上它只是样式,所以<span>类可能是最好的选择。

我使用什么标准来决定 ab 或 span 标签?

从上面可以看出,这是一个排除的过程。或或合适吗<strong>?是的 - 使用它们。否 -合适吗?是的 - 使用它们。没有则使用<em><cite><b><i><span>