<;b>;vs<;span>;在HTML5中

<;b>;vs<;span>;在HTML5中,html,semantic-markup,Html,Semantic Markup,我一直很难决定何时使用b和何时使用span。元素的新语义似乎很模糊 b元素表示关注的文本范围 为实用目的而绘制,没有传达任何额外的重要性 而且没有暗示另一种声音或情绪 听起来像是当你不能使用strong、em或i时使用的标签 当没有其他元素可用时,应将b元素用作最后手段 更合适 但是我们已经得到了当措辞内容还没有合适的标签时的提示 span元素本身没有任何意义。。。它代表了它的价值 孩子们 这里有一个示例使用列表 文档摘要中的关键词,评论中的产品名称, 交互式文本驱动软件或文章中的可操作词语 莱

我一直很难决定何时使用b和何时使用span。元素的新语义似乎很模糊


b元素表示关注的文本范围 为实用目的而绘制,没有传达任何额外的重要性 而且没有暗示另一种声音或情绪

听起来像是当你不能使用strong、em或i时使用的标签

当没有其他元素可用时,应将b元素用作最后手段 更合适

但是我们已经得到了当措辞内容还没有合适的标签时的提示

span元素本身没有任何意义。。。它代表了它的价值 孩子们

这里有一个示例使用列表

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

但我找不到一个基本的原则,把它们联系在一起,除了给它们加粗。甚至还提到了风格:


b元素表示在文体上偏移的文本范围 从普通的散文[加上强调语]

样式是用于CSS的。我们还建议使用类来显示实际含义

作者可以使用b元素上的class属性来确定原因 正在使用该元素

这听起来像是使用太分散,无法单独按标签进行分组。我还可以使用类来解释span的语义

跨度元素。。。与全局变量一起使用时可能会很有用 属性,例如class、lang或dir

例子 如果我想要这个:

你在CS 101决赛中的得分是42%

我写什么

Your score for <b>CS 101 Final</b> is 42%.
你在CS 101决赛中的得分是42%。

你在CS 101决赛中的得分是42%。
或者对于这个:

回答:42

是吗

<b>Answer</b> 42
答案42

答案42
(它只有一个键值对,所以定义列表不适用。)


我不仅仅对知道单个示例的正确标记感兴趣。我想知道为什么他们是正确的。我使用什么标准来决定b或span标记?

第一个示例非常简单。你试图让“CS 101决赛”吸引眼球,因为它比“你的分数”更重要。那就是

你在CS 101决赛中的得分是42%。

有了
,您就不会试图吸引眼球。你希望整篇文章都能被均匀地阅读,但你却把某些单词和短语标记为对读者有用(实用目的)。坦率地说,这没有多少用处。该规范给出了冒险游戏和报告中关键字的示例,但要找到许多用途并不容易

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

我使用什么标准来决定b或跨度标记


从上面可以看出,这是一个消除的过程。
是否合适?是-使用它们。否-是
还是
合适?是-使用它们。不,那么使用
span
就没有任何意义。从语义上讲,是否存在
span
元素并不重要。因此,问题不应该是何时使用
b
span
,而应该是:我应该使用
b
?(在许多情况下,您可能希望使用
b
而不需要样式挂钩,因此如果
b
不合适,则绝对不需要
span
。)

为了决定
b
是否合适,我认为想象一个使用语义标记的智能用户代理可能会有所帮助。如果每个人都能正确使用HTML5,那么这样的用户代理可以从标有
b
的内容中推断出什么

我认为本文中提到的示例用例给出了一个非常好的想法:

  • 文献摘要中的关键词
  • 评论中的产品名称
  • 交互式文本驱动软件中的可操作词
  • 一篇文章
→ : 关键字

例如,这样的用户代理可以提取段落/部分中的所有关键字,并以某种方式呈现它们,这样您就可以决定是否阅读它

在食谱中,它可以是所有成分。在你的问题中,它可能是“b”、“span”和“HTML5”。在产品页面上,可以是产品名称、主要功能和制造商。想想看,但不是文档范围(与
link
a
相同)


不要让你被造型需求所误导。虽然在许多情况下,黑体字可能是一种合适的样式,但大多数情况下,我从未对
b

使用任何特殊样式,我的个人设计准则是:

示例) 应仅用于装饰目的


也就是说,内容或多或少不会从较重的字体中获得任何好处,但如果有了它,在该位置看起来可能会更好。

b元素表示一系列文本,这些文本的注意力是出于实用目的而引起的,没有传达任何额外的重要性,也没有暗示其他声音或情绪,例如文档摘要中的关键词、评论中的产品名称、交互式文本驱动软件中的可操作词语,
<b>Answer</b> 42
<span>Answer</span> 42