2012-08-02 89 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

所以,當你鏈接到逃避的博客,不應該被用來過時的元素,也有可用的替代品。對於不推薦的元素,瀏覽器通常仍然支持並呈現它們以實現向後兼容性,但您的頁面不會通過一致性驗證。