为什么<ol>和<dl>不被弃用?

时间:2016-08-15 07:27:08

标签: html css list deprecated semantic-markup

我最近遇到过使用<ul>用于HTML列表的情况,但我真正想要的是<ol>。我正在绞尽脑汁试图设置一个变量,以便我可以根据需要随时更改它。然后我突然意识到,我可以使用CSS ul.class {list-style-type: decimal;}。这将使我得到我正在寻找的东西。

但后来我想,为什么我们甚至还有<ol>?它不应该被弃用吗?因此,列表类型不是一个独特的样式选择,属于样式表吗?至少,这总是解释为什么你不能从HTML页面复制和粘贴列表项目符号。然后我进一步想知道<dl>。是的,它稍微方便一点,但您可以使用嵌套的<div><p><ul><span>轻松制作相同的效果。

In this other question,似乎可以说<ol><dl>具有语义质量。我可以购买它,特别是对于<dl>,但是面对经常被告知列表类型是样式而不是内容它会飞。还有更多的东西,我没有看到为什么他们还没有被弃用?

2 个答案:

答案 0 :(得分:8)

ul,ol和dl之间的差异不仅仅是这些元素在渲染时的样子。存在巨大的语义差异。这就是为什么他们不能被弃用以支持ul。

  

我可以使用CSS ul.class {list-style-type:decimal;}。这个会   得到我正在寻找的东西。

看,这就是你错了。你不会得到完全相同的结果。如果你只使用ol或dl是因为它们看起来如此,那你就错了。

  

列表类型不是一个独特的样式选择

绝对不是。当你使用html标签时,你应该知道为什么要这样做。所有3种类型的列表都有其自己的含义和用途。

ul =无序列表。 元素的顺序根本不重要 一个基本的例子是购物清单。你不在乎你首先购买的东西,你只想购买清单上的所有物品。

ol =有序列表。 订单非常具体,首先是什么才重要。一个很好的例子是蛋糕的配方。你不能先烤它然后加入成分。

dl =说明列表。您通常将此用于包含键值对,因为它包含一组术语及其定义的列表。

当然,当谈到这些列表的外观时,您可以将其中一个换成另一个并且只应用css规则。或者甚至使用几个div / span标签并从头开始创建它 然而,当谈到语义标记时,差异是巨大的,正如我所解释的那样。

HTML中的标签不仅仅包含内容,但它们也有意义。它们描述了我们正在处理的内容。例如,当你关心SEO时,这很重要。

样式表仅用于改变浏览器中元素的外观,但在解释内容时它们是无用的。例如,网络抓取工具根本不关心css。

答案 1 :(得分:3)

  

面对经常被告知列表类型是样式而不是内容

谁说的? HTML标记是语义,它传达意思。总是想象你在没有样式表的上下文的情况下解析你的HTML;说因为你是一个搜索引擎,或者因为你正在挖掘数据。然后oluldl之间的语义差异非常明显且显着。