2012-10-10 49 views
4

可能重複:
Is it OK to use unknown HTML tags?爲什麼瀏覽器在HTML5中解析自定義標籤?

我在Chrome和IE9測試自定義標籤<oles-tag> ... </oles-tag>

我使用HTML5文檔類型<!DOCTYPE html>

HTML5不支持自定義標籤。代碼不會驗證,但瀏覽器無論如何都會解析它。我甚至可以用CSS瞄準它...

爲什麼瀏覽器解析自定義標籤時,它的不規範有效的代碼?

爲什麼我不應該爲了語義代碼而使用自定義標籤?

+0

關於這個問題的討論可以在這裏找到:http://stackoverflow.com/questions/211394/when-to-use-custom-html-tags –

+1

不是標準的任務解析無法識別的標籤? –

+0

@亞當:最後一行是這個問題的重複,但其餘的是要求完全不同的東西。 – BoltClock

回答

9

爲什麼瀏覽器解析自定義標籤,當它的不規範和有效的代碼?

要使它向前兼容。試想一下,如果你不可能在老瀏覽器中設置<article>元素,因爲在編寫舊瀏覽器時不存在<article>。那太可怕了,不是嗎? 瞪着IE

爲什麼我不應該只是使用自定義標籤的語義代碼的緣故?

因爲沒有其他人(程序)識別這些標籤,所以它們不是語義的。 <article>等元素之所以被視爲語義,是因爲他們有建立的的使用。當您使用一個沒有建立使用的自定義元素時,可以用多種方式來解釋它,從而導致程序之間的不一致。 Glares at <b> and <i>

+0

我自己不能說得更好。 –

+2

在HTML 5.1之前。 – BoltClock

0

瀏覽器往往對標記寬容。這在一定程度上源於難以採用複雜的SGML語法。

在90年代後期已經出現了嚴格的運動,導致創建了XHTML,每個錯誤導致了災難性的失敗。如果你喜歡嚴格,那麼似乎有一個XHTML adapted for HTML5的版本。

XHTML有另一個有趣的功能 - 你可以定義和使用所有你想要的自定義標籤,其實這是one of the two major reasons爲它的發展。

+1

好東西SGML不再是HTML5中的東西。 – BoltClock

+0

@BoltClock是的,他們終於擺脫它,並保持寬容。恕我直言,好事 – kostja

相關問題