【问题标题】:Obsolete vs. Deprecated HTML过时与不推荐使用的 HTML
【发布时间】:2012-08-02 19:17:30
【问题描述】:

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

【问题讨论】:

标签: html


【解决方案1】:

在 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 验证器被告知发出错误消息,而不仅仅是警告)。在实践中,差异较小,主要只是原则问题。浏览器仍然需要解析元素并将其添加到文档树中,并且它们应该像以前一样实现它。

【讨论】:

  • 谢谢!这非常有帮助!
  • 任何对您最后一句“仍然需要浏览器来支持该元素。”的引用?
  • @Pacerier,子句11.3.4 Other elements, attributes and APIs 说:“字体元素必须实现 HTMLFontElement 接口。”这包括旧属性。子句10.3.4 Phrasing content 描述了视觉效果。诚然,这只是“建议渲染”,所以我会修改措辞;这不是正式要求,而是强烈建议。
【解决方案2】:

字典很好地讲述了这个故事:

Deprecated:表示不赞成。

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

建议不要使用deprecated elements,因为将来可能不再支持它们,而obsolete 元素已经停止使用从使用开始。

【讨论】:

  • 我喜欢this definition 以便更好地弃用。 通过删除或标记项目使项目无效或过时。当一种语言中的命令或语句计划在编译器或渲染引擎的未来版本中删除时,它们被称为已弃用。程序员应该开始在其程序的后续版本中将它们从源代码中删除。
【解决方案3】:

过时通常意味着它已被其他东西取代。

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

【讨论】:

    【解决方案4】:

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

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

    因此,由于您链接到的博客回避,不应使用过时的元素,有可用的替代品。对于已弃用的元素,浏览器通常仍会支持并呈现它们以实现向后兼容,但您的页面将无法通过一致性验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      • 2012-12-21
      • 2016-04-22
      相关资源
      最近更新 更多