15 回答
虽然总的来说,我会远离非语义标签,例如b
and i
,strong
并且em
不是 and 的直接替代b
品i
。
我会使用b
ori
当它只是您要进行的演示,而您要标记的内容没有语义意义。例如,像 stackoverflow 这样的标志可以用stack<b>overflow</b>
. “溢出”部分对“堆栈”没有语义意义,但stack<span class="overflow-logo">overflow</span>
也不提供任何东西。
希望这可以帮助。
不知道如何评论(编辑:需要 moar karma!),但这是对 Erik 评论的回复。
请阅读HTML5 工作草案。它很好地解释了何时使用b
.
该
b
元素表示在风格上从普通散文中偏移的一段文本,而不传达任何额外的重要性,例如文档摘要中的关键词、评论中的产品名称或其他典型的印刷表示加粗的文本范围。
“溢出”在徽标中没有强调“堆栈”,因此用“溢出”包装em
在语义上是不正确的。
绝不。它们在 XHTML 2.0 中被删除,因为它们是表示标签。CSS 应该用于粗体/斜体内容。
编辑:如果您正在寻找一个纯粹的展示标签,那就是SPAN
带有类和一点 CSS 的标签的用途。
根据HTML 5 规范,应该在适当<b>
的时候使用。<i>
在我:
[A] 以另一种声音或语气或以其他方式偏离正常散文的文本范围,例如分类名称、技术术语、来自另一种语言的惯用短语、思想、船名或其他一些散文典型的印刷表示是斜体。
[A] 文本范围在风格上与普通散文偏移,但不传达任何额外的重要性,例如文档摘要中的关键词、评论中的产品名称,或其他典型的排版显示为粗体的文本范围。
一般而言,当所有其他语义选项都已用尽时,“适当时”被认为是最后的手段。尽管它们可能是“表达性的”,但这肯定会损害它们的语义表亲<em>
,并<strong>
分别认为它们总是斜体或粗体。
在http://www.webmasterworld.com/forum21/7095-1-15.htm上有一个很好的评论:
“如果页面阅读器真的
<strong>
用强烈的声音阅读每个标签,或者真的强调<em>
页面上的每个部分,那么可怜的用户就会得到一个页面定期对她或他大喊大叫。我觉得这个问题真的是不言而喻。如果我设置粗体或斜体字体仅用于排版,那么我使用
<b>
and<i>
。如果有一个单词或短语我想在说话时强调,那么——而且只有这样——我才使用<strong>
or<em>
。”
对于由所见即所得编辑器生成的标记。
多年来,我一直在使用 <b> 来指示我网站上的关键词。我编写了一个小实用程序,它会爬取站点以查找 <b> 标记并将它们添加到索引中。当我想加粗一个单词而不将它添加到索引时,我使用 <strong>。我已经使用这个约定好几年了——现在退出为时已晚。
有技术规则,但这是我的两条经验法则:
1) 如果你正在写一些东西,如果说出来,你会强调一个词,<strong> 和 <em> 是合适的。(例如,“你一定是在嘲笑我,派尔!”)
2)如果您出于技术原因强调一个词,但不会在口语对话中强调该词,则 <b> 和 <i> 是合适的。(例如,“他登上 RMS Titanic并扬帆远航,再也见不到了。”)
不过,不要遗漏其他标签,例如 < cite >!
正式地,<i /> 和 <b /> 是“展示性的”,不应使用。虽然许多开发人员认为 <em /> 和 <strong /> 是展示性的,但事实并非如此。它们通常分别为斜体和粗体,但 CSS 可以(并且应该在适当的时候)改变强调和强度的显示方式。
类似的事情可以用 <span /> 标签上的 css 完成,许多人认为这是首选方法,但规范无法证实。
每当您想错误地做事时……开个玩笑。
真正的答案是永远不会,这些标签已被W3C弃用
<b> 和 <i> 都不是语义标签,所以纯粹主义者会说它们不应该被使用。我认为它们的使用是合理的,例如将在线内容打印出来,其中文本以粗体或斜体作为惯例,而不是作为加强或强调内容的方式。
一个简单的例子是,如果您将一篇杂志文章放在网上,该文章按书名引用一本书:您可能希望将书名用斜体字表示,但斜体字不是为了强调,所以 <em> 标记不合适。您可以在此处使用 <i>,但语义上的做法是使用类似 <span class="booktitle"> 的内容,然后使用 CSS 将书名设为斜体。您引用的是标题,而不是强调,并且您不希望屏幕阅读器对标题进行口头强调。
我个人的观点是今天不要使用 <b> 或 <i> ,但是当您除了粗体或斜体之外并不想做任何事情时,使用 <strong> 或 <em> 作为它们的替代品同样不正确。
我认为当你试图让你的标记有意义时,这些很少有用。
然而,有一些新标签产生了一些相同的结果,但提供了更多的语义价值。例如,当我提到一本书的名称时,我喜欢使用 <cite> 标签,因为它仍然是斜体,但现在 HTML 带有关于原因的含义。
还有许多其他语义标签也会影响此处列出的格式:
<b> 和 <i> 标签没有语义,而 <strong> 和 <em> 有。如果读者大声朗读文本块,它将对 <strong> 和 <em> 标签做出反应,而 <i> 和 <b> 标签将被忽略,并被视为纯视觉元素。我倾向于将 <i> 和 <b> 视为已弃用。
为移动设备编写网站时。它们并不总是支持“最新和最伟大”的标准,在所有现代浏览器中都已贬值但并未删除,并且占用的空间和带宽更少(尽管理论上流是由网站或无线浏览器压缩的,但不能指望)。
-亚当