【发布时间】:2013-09-11 18:47:23
【问题描述】:
我一直难以决定何时使用 b 以及何时使用 span。 b 元素的新语义似乎含糊不清。
b 元素表示正在关注的文本范围 出于实用目的而绘制,没有传达任何额外的重要性 并且没有暗示其他声音或情绪
听起来像是你不能使用strong、em或i时使用的那个标签。
当没有其他元素时,应将 b 元素用作最后的手段 更合适。
但是我们已经得到了span,用于当措辞内容还没有适用的标签时。
span 元素本身没有任何意义......它代表了它的 孩子们。
有一个示例使用列表
文档摘要中的关键词,评论中的产品名称, 交互式文本驱动软件或文章中的可操作词 领导
但是除了将它们设置为粗体之外,我找不到将它们联系在一起的基本原则。 old spec 甚至提到了风格:
b 元素表示要风格偏移的一段文本 来自普通散文[强调]
样式用于 CSS。我们还建议使用类来显示实际含义是什么
作者可以使用 b 元素上的 class 属性来确定原因 该元素正在被使用
这听起来像是用途过于分散,无法单独按标签进行分组。我还可以使用类来解释 span 的语义。
span 元素...与全局元素一起使用时很有用 属性,例如类、语言或目录。
示例
如果我想要这个:
CS 101 Final 的分数是 42%。
我会写吗
Your score for <b>CS 101 Final</b> is 42%.
或
Your score for <span>CS 101 Final</span> is 42%.
或者对于这个:
答案: 42
会不会
<b>Answer</b> 42
或
<span>Answer</span> 42
(它只是一个键值对,所以定义列表不适用。)
我不仅对了解各个示例的正确标签感兴趣。我想知道为什么它们是正确的。我使用什么标准来决定是 b 还是 span 标签?
【问题讨论】:
-
b 元素代表一个文本跨度,出于实用目的而关注该文本,但没有传达任何额外的重要性,也没有暗示其他声音或情绪,例如文档摘要中的关键词,评论中的产品名称、交互式文本驱动软件中的可操作词或文章 lede (lead)。
-
坦率地说,随着样式与 HTML 的分离,像 b、i、em、strong 等标签都已经过时了,就像 font 和 marquee 一样。
-
@AndreasCarlbom b 和我被改变了因为他们已经过时了。
标签: html semantic-markup