使用W3C有效的表示元素有哪些实际缺点,这些元素未列为已弃用
如<b>
,<i>
,<br>
,<hr>
,<small>
如果我将这些标签用于演示目的。 (注意: these are also supported in HTML 5)
例如:
<b>
代替<span style="font-weight: bold">
<i>
代替<span style="font-style: italic">
<br>
在段落中换行而不是腾出空间<hr>
代替<div style="border-bottom: 1px solid #666">
<small>
代替<span style="font-size: 9px">
我知道<strong>
和<b>
之间的区别。我的问题与<strong>
vs <b>
答案 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">
)将是等效的。