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

时间:2010-02-10 09:27:53

标签: html css xhtml w3c semantic-markup

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

  • for XHTML-CSS开发人员,
  • 网站的最终用户
  • 和屏幕阅读器用户,?

<b><i><br><hr><small>如果我将这些标签用于演示目的。 (注意: these are also supported in 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">
  6. 我知道<strong><b>之间的区别。我的问题与<strong> vs <b>

    无关

5 个答案:

答案 0 :(得分:6)

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

<i>在语义上等同于<span style="font-style: italic">:也就是说,没有语义内容。 <i>...</i>内的一个词并不重要;网页文本到语音转换器不应该(*)以强调的语调读取该单词。

如果你想强调一个单词,比如句子中的'绝对',你应该绝对使用<em>。这是常见的情况。但是当你只想要一个印刷细节时,比如为了视觉目的而将一段文字用于斜体,或者像总是将你的网站称为“事物世界!”这样的印刷怪癖,<em>不是不合适,你想要无语义版本(<i><span>)。

同样地,<strong>适合于“上面的错误”,因为它是强烈强调的。如果您只是希望文本的一部分以粗体呈现,而不是暗示它比周围文本更重要,那么您可以使用<b>或者再次使用另一个元素(如<span>)或<div>

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

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

理论上,

<small><big>可能是相同的情况,但是导入的带有粗体/斜体的文本很常见,导入的文本则不常见。因此,没有人使用这些标签,你通常会更好地使用普通的CSS字体大小样式。

<br><hr>可以说与上述代码相同。换行符可以是内容的重要部分(例如,在分隔地址中的行中),并且水平规则表示文本部分之间比单纯的段落更强的分离。当然,如果你使用<br>创建假段落,你做错了(大约1998年大卫西格尔),使用<hr>只是为了得到一条不合适的小线

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

答案 1 :(得分:1)

为了完整起见,这里列出了Index of Elements,其中列出了哪些不推荐使用,哪些不推荐(并且您说明已弃用)是正确的。

一般来说人们会使用:

  • <strong>代替<b>;
  • <em>代替<i>;
  • <hr><br>因为没有其他选择;
  • <small>在我的经验中很少使用,而是使用CSS样式。

了解<strong><em>具有语义含义非常重要,但<b><i>不具备这两种情况的有效用例。

答案 2 :(得分:0)

hrs很难用CSS来设置样式而不添加更多的html

brs只是惹恼了我,因为当你有填充和边距玩时,他们并不是真的需要

我倾向于使用em或强而不是i或b - 这些都暗示斜体或粗体,而em或strong则更抽象,所以如果你想给某些文本或某些文本提供一些'em'phasis看起来有点强,他们更有意义,而不一定是粗体或斜体

答案 3 :(得分:0)

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

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

  • <br>表示“软”休息。 (如上所述:而是在<p>元素上使用边距 显示段落。)
  • <hr>来 表示两个部分的划分 该文件,例如,在。。之间 标题和导航,或导航 和内容。当浏览器没有 CSS支持查看文档,a 明显的鸿沟是可见的。然后我通过CSS隐藏<hr>

答案 4 :(得分:0)

在你的5个例子中,我认为只有这个例子具有重要意义:“#如果我使用<small>代替<span style="font-size:9px>

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