2012-08-02 65 views
10

有关HTML的术语“过时”与“弃用”之间的区别是什么?我似乎看到很多元素在HTML5中被标记为“过时”...已过时与已弃用的HTML

+0

只是想提一下,我做了一个小书签,用于从您的标记中随时删除过时的属性,并且它将“生成的”源代码吐出,以便您可以看到需要在代码中删除的内容。随意使用它。 http://keithwyland.github.com/attrebuke/ – keithwyland 2013-01-23 18:41:42

回答

10

在HTML 4.01规范中,条款4.1 Definitions将“不推荐”和“过时”定义为技术术语。简而言之,不推荐使用的功能是您不应该使用的功能,但浏览器应该继续支持它。过时的功能是为了历史目的而列出的,没有定义,并且不需要浏览器支持(尽管在实践中它通常仍然存在)。 HTML 4.01将大多数旧的表示元素和属性声明为不赞成使用。只有少数非常重要的元素被宣布在那里过时。

在W3C HTML5草案中,术语是不同的。它根本不使用“弃用”这个词(除了在HTML 4.01中使用这个词时)。它没有将“过时”定义为技术术语(如适用于HTML的功能),但它使用了很多字。该词在11 Obsolete features部分中被隐式定义。该草案指出,取决于功能,色调和特性有所不同,作者不使用过时的功能,但期望浏览器继续支持它们。它还包含其语法和语义的详细描述,部分甚至比旧规范更详细。

在HTML5草案中,大多数已过时的功能也被归类为“不符合”,并声明它们“不能被作者使用”。这些功能涵盖了HTML 4.01中不赞成使用的大多数功能,还有一些功能,包括根本不在HTML 4.01中的功能。

例如,font元素在HTML 4.01中被弃用,在HTML5中被废弃。所以原则上,HTML 4.01你不应该使用,HTML5说你不应该使用它(HTML5验证器被告知发出错误消息,而不仅仅是一个警告)。实际上,差异较小,主要是原则问题。浏览器仍然需要解析元素并将其添加到文档树中,并且他们需要像以前一样实现它。

+0

谢谢!这非常有帮助! – 2012-08-04 15:18:42

+0

对上一句话的引用“浏览器仍然需要支持该元素。”? – Pacerier 2014-05-04 06:41:45

+0

@Pacerier条款[11.3.4其他元素,属性和API](http://www.w3.org/TR/html5/obsolete.html#other-elements,-attributes-and-apis)说:“The font元素必须实现HTMLFontElement接口。“这包括旧的属性。条款[10.3.4短语内容](http://www.w3.org/TR/html5/rendering.html#phrasing-content-0)描述了视觉效果。无可否认,这只是“建议渲染”,所以我会修改措辞;这在形式上不是要求,而是强烈的建议。 – 2014-05-04 07:05:45

0

已过时通常意味着它已被替换为其他内容。

弃用意味着未来的发展可能不会支持它。

8

字典讲述的故事还算不错:

Deprecated:表达不满。

Obsolete:不再生产或使用;过时。

这是建议您不要使用deprecated elements,因为他们可能不会在将来被支持,而obsolete元素已经从使用停产。

+0

我喜欢[这个定义](http://computer.yourdictionary.com/deprecate)更好的弃用。 *通过删除或标记该项目使其失效或过时。当在编译器或渲染引擎的未来版本中计划删除语言中的命令或语句时,它们被认为是不推荐使用的。程序员应该在其程序的后续修订中将其从源代码中移除。* – 2012-08-02 19:24:50

0

在你的问题中,你引用了一篇博客文章,随后链接到有关过时元素的W3规范。

http://www.w3.org/TR/html5/obsolete.html#obsolete

所以,当你链接到逃避的博客,不应该被用来过时的元素,也有可用的替代品。对于不推荐的元素,浏览器通常仍然支持并呈现它们以实现向后兼容性,但您的页面不会通过一致性验证。