【发布时间】:2010-09-08 23:45:43
【问题描述】:
从语义上讲,在当今的网站(2008 年末)中是否有合适的地方使用粗体 <b> 和斜体 <i> 标签比使用更广泛的 <strong> 和 <em> 标签更有用?
【问题讨论】:
从语义上讲,在当今的网站(2008 年末)中是否有合适的地方使用粗体 <b> 和斜体 <i> 标签比使用更广泛的 <strong> 和 <em> 标签更有用?
【问题讨论】:
几年过去了……
在HTML5 (W3C Recommendation) 中,这四个元素都没有被弃用/废弃。
(非规范!)usage summary 列出了它们的用途:
当然,如果您想使用它们,请始终参考它们的规范定义(您可以通过单击元素名称找到它们)并验证它们是否适合您的情况。
The b element could be used for keywords in a text,其中其他三个元素不合适:此类关键字不重读(em),也不偏移(i),也无需将它们与样板等区分开来. (strong).
The i element could be used for scientific names in Latin,其中strong 和em 不合适。虽然b 似乎也很合适,但它的定义明确排除了i 处理的案例。
当然,在某些情况下您会使用其中的几个元素。例如,学名也可以是文档中的关键字 (<b><i>…</i></b>)。
【讨论】:
从来没有。它们在 XHTML 2.0 中被删除,因为它们是表示标签。 CSS 应该用于粗体/斜体内容。
编辑:如果您正在寻找一个纯粹的展示标签,这就是带有类和一点 CSS 的 SPAN 标签的用途。
【讨论】:
正式地, 和 是“展示性的”,不应使用。虽然许多开发人员认为 和 是展示性的,但事实并非如此。它们通常分别以斜体和粗体显示,但 CSS 可以(并且应该在适当的情况下)改变重点和强度的显示方式。
标签上的 css 也可以做类似的事情,许多人认为这是首选方法,但规范无法证实。
【讨论】:
有技术规则,但这是我的两条经验法则:
1) 如果你写的东西,如果说出来,你会强调一个词, 和 是合适的。 (例如,“你必须是 sh*tting 我,Pyle!”)
2) 如果您出于技术原因强调某个词,但不会在口语对话中强调该词,则 和 是合适的。 (例如,“他登上 RMS 泰坦尼克号并扬帆远航,再也见不到了。”)
不过,不要漏掉像 这样的其他标签!
【讨论】:
虽然我一般会远离非语义标签,如 b 和 i、strong 和 em 不是 b 和 i 的直接替代品。
我会使用b 或i,当它只是您要进行的演示,并且您要标记的内容没有语义意义时。例如,像 stackoverflow 这样的标志可以用stack<b>overflow</b> 标记。 “溢出”部分在“堆栈”之上没有语义意义,但stack<span class="overflow-logo">overflow</span> 也没有提供任何东西。
希望这会有所帮助。
不确定如何发表评论(编辑:需要 moar karma!),但这是对 Erik 评论的回复。
请阅读the HTML5 working draft。它很好地解释了何时使用b。
b元素表示在风格上与普通散文不同但不传达任何额外重要性的文本范围,例如文档摘要中的关键词、评论中的产品名称或其他具有典型排版的文本范围演示文稿加粗。
“溢出”在徽标中没有强调“堆栈”,因此用em 包裹“溢出”在语义上是不正确的。
【讨论】:
可以说<i> 标签仍然有用:当表达一个物种的学名(又名拉丁名)时。按照惯例,物种的学名通常以斜体显示。 Example。在这种情况下使用<em> 在语义上是不正确的,因为人们并没有试图强调名称,而只是在视觉上区分它。使用<span class="sci-name"> 之类的东西可能更合适,但是当人们考虑到大多数科学名称是由italic languages 的单词(主要是拉丁语)组成时,<i> 标记就成为一种语义丰富且方便的解决方案。
【讨论】:
http://www.webmasterworld.com/forum21/7095-1-15.htm 上有一个很好的评论:
“如果页面阅读器真的阅读每一个
<strong>用强烈的声音标记,或 真的强调每个<em>部分 一个页面,然后可怜的用户得到一个页面 定期对她或他大喊大叫 基础。我觉得这个问题真的是 不费吹灰之力。如果我设置粗体或 用于排版的斜体字体 只有,然后我使用
<b>和<i>。如果 有一个词或短语我想要 像我说话一样强调, 然后 - 只有这样 - 我才使用<strong>或<em>。”
【讨论】:
根据HTML 5 spec、<b> 和<i> 应在适当的时候使用。
[A] 一段以另一种声音或语气表达的文本,或以其他方式偏离正常散文,例如分类名称、技术术语、来自另一种语言的惯用短语、思想、船名或某些其他散文,其典型的排版呈现为斜体。
[A] 一段在风格上偏离普通散文但不传达任何额外重要性的文本,例如文档摘要中的关键词、评论中的产品名称,或其他典型排版显示为粗体的文本跨度。
一般来说,“在适当的时候”被认为是最后的手段,当所有其他语义选项都已用尽时。尽管它们可能是“表达性的”,但如果将它们分别视为斜体或粗体,肯定会损害它们的语义表亲 <em> 和 <strong>。
【讨论】:
多年来,我一直在使用 来指示我网站上的关键词。我编写了一个小实用程序,它会爬取站点以查找 标记并将它们添加到索引中。当我想加粗一个单词而不将它添加到索引时,我使用 。我已经使用这个约定好几年了——现在退出已经太晚了。
【讨论】:
我认为当你试图让你的标记有意义时,这些很少有用。
然而,有一些新标签产生了一些相同的结果,但提供了更多的语义价值。例如,当我提到一本书的名称时,我喜欢使用 标签,因为它仍然是斜体,但现在 HTML 包含了为什么的含义。
还有许多其他语义标签也会影响此处列出的格式:
【讨论】:
用于所见即所得编辑器生成的标记。
【讨论】:
和 都不是语义标签,所以纯粹主义者会说它们不应该被使用。我认为它们的使用是合理的,例如将在线内容打印出来,其中文本以粗体或斜体作为惯例,而不是作为加强或强调内容的方式。
一个简单的例子是,如果您将一篇杂志文章放在网上,该文章按书名引用一本书:您可能希望将书名用斜体字表示,但斜体字不是为了强调,所以 标签会不合适。您可以在此处使用 ,但语义上的做法是使用类似 的内容,然后使用 CSS 将书名设为斜体。您引用的是标题,而不是强调,并且您不希望屏幕阅读器对标题进行口头强调。
我个人的意见是今天不要使用 或 ,但是当您除了粗体或斜体之外并不想做任何事情时,使用 或 作为它们的替代品同样适用不正确。
【讨论】:
每当你想把事情做错时......开个玩笑。
真正的答案是永远不会,这些标签已被W3C 弃用
【讨论】:
和 标签没有语义,而 和 有。如果读者大声朗读文本块,它将对 和 标签做出反应,而 和 标签将被忽略,并被视为纯视觉元素。我倾向于将 和 视为已弃用。
【讨论】:
为移动设备编写网站时。它们并不总是支持“最新和最伟大”的标准,在所有现代浏览器中都已贬值但并未删除,并且占用的空间和带宽更少(尽管理论上流是由网站或无线浏览器压缩的,但不能指望)。
-亚当
【讨论】: