2013-04-27 63 views
0

我想知道如果它是一個壞的習慣sel關閉一個i html標記。自我關閉我的html標記或不

我可以代碼:

<i class="icon-calendar btn"/> 

或者是更好的代碼:

<i class="icon-calendar btn"></i> 

看來,IE和GC都正確解釋這兩種。

謝謝。

+0

定義「正確」。根據規格?那麼是的,他們確實解釋了這兩個問題 - 第一個用'/>'應該被視爲HTML標記湯中未封閉的開放標記。 – BoltClock 2013-04-27 15:35:41

+0

哪種文件類型? XHTML? HTML? – 2013-04-27 15:37:05

+1

你爲什麼使用''作爲圖標?有關何時使用以及何時不使用標籤,請參閱http://www.w3.org/International/questions/qa-b-and-i-標籤。改用「」或「」。 – 2013-04-27 15:39:23

回答

2
+0

在XHTML中,''*是一個結束標記(和一個開始標記)。 – 2013-04-27 19:54:37

+0

但它不適用於''標籤 – 2013-04-27 20:40:43

+0

它是有效的;這就是爲什麼XHTML 1.0附錄C表示在兼容性相關時應該使用它。如果構造已經被正式的語法規則所禁止,那麼就沒有任何意義。 – 2013-04-28 04:06:02

1

大多數HTML標籤都是強制性的。正如標籤是強制性的,並且是一樣的。如果您不確定是否強制關閉,我會說關閉它。 :)

1

簡短的回答是:使用<i class="icon-calendar btn"></i>

在HTML 4.01以下,包括HTML 4.01,<i class="icon-calendar btn"/>是正式的錯誤語法,但是瀏覽器容忍(忽略)多餘的斜線,只將它視爲起始標籤。在沒有結束標記的情況下,這是一個語法錯誤。實際效果取決於上下文和使用的樣式表;塊元素的結尾可視爲隱式關閉打開的i元素,作爲錯誤恢復。

這同樣適用於HTML語法(HTML序列化)中的HTML5。

在XHTML中,<i class="icon-calendar btn"/>是正式允許的,定義與<i class="icon-calendar btn"></i>相同。但是,XHTML 1.0 compatibility guidelines建議不要使用:對於帶有EMPTY聲明內容的元素(即不能包含任何內容的元素),僅對它們使用「自閉」符號。他們還建議,當使用符號時,在斜槓/之前使用空格,但這幾乎沒有任何實際意義。

兼容性準則適用於瀏覽器處理XHTML文檔的情況,這些瀏覽器將它們視爲有點古怪的傳統HTML,而不是真正的XML。這是Web瀏覽器通常所做的。另一方面,關於網頁瀏覽器,那麼使用XHTML是毫無意義的,因此最好避免所有「自閉」的事情,這隻會讓人們感到困惑。