6

使用 W3C 有效的表示元素有哪些实际缺点,这些元素未列为已弃用

  • 对于 XHTML-CSS 开发人员,
  • 网站的有视力的最终用户,
  • 对于屏幕阅读器用户,?

<b>, <i>, <br>, <hr>,<small>如果我将这些标签用于展示目的。(注意: HTML 5 也支持这些

例如:

  1. 如果我使用<b>代替<span style="font-weight: bold">
  2. 如果我使用<i>代替<span style="font-style: italic">
  3. 如果我用<br>在段落中换行而不是腾出空间
  4. 如果我使用<hr>代替<div style="border-bottom: 1px solid #666">
  5. 如果我使用<small>代替<span style="font-size: 9px">

<strong>我知道和之间的区别<b>。我的问题不是关于<strong>vs<b>

4

5 回答 5

6

使用它们本身并没有“骗局”。将它们用于错误的事情有一个“骗局” 。过去它们经常被用于网页中的错误事情,但这并不意味着没有正确的事情。

<i>语义上等价于<span style="font-style: italic">:即没有语义内容。里面的一个词<i>...</i>并不重要;网页文本到语音转换器不应该(*)以强调的语气阅读该词。

当你想强调一个词时,比如这句话中的“肯定”,你绝对应该使用<em>. 这是常见的情况。但是,当您只想要一个排版细节时,例如仅出于视觉目的将文本块斜体,或者总是将您的网站称为“Things World!”的排版怪癖,<em>是不合适的,您会想要无语义的版本(the<i>或 the <span>)。

同样,<strong>也适用于上面的“for the wrong thing”,因为它是要强调的。如果您只是希望部分文本以粗体呈现,而不暗示它比周围的文本更重要,那么您可以在另一个元素(如or )上使用<b>or 样式。<span><div>

<i>and的一个常见用途<b>是当您从无语义的来源获取文本时。特别是从文字处理器或类似应用程序中导入内容是很常见的,在这些应用程序中没有强调的概念,只有“斜体”和“粗体”。在这种情况下<i><b>(或跨度等价物)是合适的,因为您不知道这些文本样式背后的语义意图是什么;该信息已经丢失。

如果您将所有斜体自动转换为<em>许多工具所做的那样,您可能会标记不代表重点的斜体。例如对其他作品的引用,最好用 标记<cite>,或者来自另一种语言(如拉丁语或法语)的单词/短语,最好用标记<span lang>(以及相关的风格来告诉它来自另一种语言的单词应该是斜体) .

<small>并且<big>理论上可能是相同的情况,但是虽然导入的带有粗体/斜体的文本很常见,但导入的大小文本却不是。因此,没有人使用这些标签,您通常最好使用普通的 CSS 字体大小样式。

<br>并且<hr>可以说与上述标签不同。换行符可能是内容的重要组成部分(例如,在地址中分隔行),水平线表示文本部分之间的分隔比单纯的段落更强。当然,如果你用它<br>来创建假段落,那么你做错了(你是 David Siegel 大约在 1998 年),并且使用<hr>只是为了得到一个不错的小线,这也是不对的。

(*:说明性示例;找出真正的屏幕阅读器实际上做了什么留给读者作为练习。)

于 2010-02-10T10:14:11.937 回答
1

为了完整起见,此处列出了已弃用和未弃用的元素索引(并且您将它们声明为弃用是正确的)。

一般来说,但是人们使用:

  • <strong>而不是<b>;
  • <em>而不是<i>;
  • <hr><br>因为别无选择;
  • <small>以我的经验很少使用,而是使用 CSS 样式。

理解这一点<strong><em>具有语义意义很重要,但<b><i>没有,因此两者都有有效的用例。

于 2010-02-10T09:33:58.460 回答
0

hrs 在不添加更多 html 的情况下使用 CSS 设置样式很痛苦

brs 只是让我恼火,因为当你有填充和边距可以玩时,它们并不是真正需要的

我倾向于使用 em 或 strong 而不是 i 或 b - 这两个都暗示斜体或粗体,而 em 或 strong 更抽象一些,所以如果你想给一些文本一些“重点”或让一些文本看起来有点更强,它们更有意义,不一定是粗体或斜体

于 2010-02-10T09:45:06.143 回答
0

<br>使用元素来指示换行符(因此不使用元素来指示段落)的缺点<p>是您限制了 CSS 对文档的控制范围。管理许多文本元素比通过 CSS 在一个元素中<p>穿插 s 的文本要容易得多。<br>

每当我将 HTML 文档放在一起时,我都会使用

  • <br>表示“软”中断。(如上:宁可在<p>元素上使用边距来显示段落。)
  • <hr>表示文档的两个部分的划分,例如在标题和导航之间,或在导航和内容之间。当不支持 CSS 的浏览器查看文档时,可以看到明显的分界线。<hr>然后我通过 CSS隐藏s。
于 2010-02-10T10:33:43.380 回答
0

在你的 5 个例子中,我认为只有这个有意义:“# If i use <small>in place of <span style="font-size:9px>

Small是相对的,而是font-size:9px绝对的。我们应该始终使用相对单位,允许浏览器选择自己的绝对比例。<span style="font-size:small">(或最好<span style="font-size:smaller">)将是等价的。

于 2010-02-10T16:30:10.427 回答