是否存在任何瀏覽器問題,總是在html中摺疊空標籤。 因此,例如,一個空的頭標籤可以這樣寫在html中總是自我關閉空標籤有什麼問題嗎?
<head></head>
,但也可以這樣寫
<head/>
將在第二情況下會引起任何問題之情況?
感謝
是否存在任何瀏覽器問題,總是在html中摺疊空標籤。 因此,例如,一個空的頭標籤可以這樣寫在html中總是自我關閉空標籤有什麼問題嗎?
<head></head>
,但也可以這樣寫
<head/>
將在第二情況下會引起任何問題之情況?
感謝
你不應該在XHTML中使用最小化形式頭。
http://www.w3.org/TR/xhtml1/#guidelines
關於空元素:
http://www.w3.org/TR/xhtml1/#C_3
給定一個元件 ,其內容模型的一個空的實例不是空( 例如,一個空的標題或段落) 請勿使用最小化格式(例如 使用
<p> </p>
而不使用<p />
)。
換句話說,段落應該總是在XHTML中關閉,在HTML中你可以只用打開標籤。但是,如果元素應該有內容,應該適當地打開和關閉。
例如,換行符具有空格式內容模型,可寫爲<br />
(與<hr />
相同),但不是<div />
。
自閉<script>
標籤可以搞砸某些瀏覽器實在太差了。我記得自己封閉了一個腳本標記後,整個頁面在IE瀏覽器中消失得無影無蹤 - 在它被作爲腳本讀取之後的所有內容。
Argh。交叉帖子。 +1爲相同的答案! – BradBrening 2010-05-08 23:38:31
不是我所知道的。過去一直在困擾我的警告是自己關閉腳本標記:<script type="text/javascript" src="somefile.js" />
這會導致一些有趣的失敗。
我相信一些舊的瀏覽器曾與缺乏whitespacing的問題 - 尤其是 <head/>
將被解釋爲「頭/」的標籤,而<head />
將與空屬性「/」被解釋爲「頭」標籤這被忽略。
這隻影響一些瀏覽器,AFAIK。要麼是有效的XHTML,要麼是早期的純HTML瀏覽器可能會遇到麻煩。
這其實是記錄在the XHTML guidelines爲C.2
對你的陳述的一些提及會很好,但我想我可以回憶起你描述的同樣的行爲。 +1,因爲我不認爲這個帖子應該有負分。 – MyGGaN 2010-05-09 06:53:22
雖然我引用的規範沒有明確說明這一點,但我認爲它確實提到了/作爲一個屬性的解釋,足以重構其餘的解釋。希望我能找到更具體的參考... :) – 2010-05-09 10:51:22
假設你服務你的XHTML爲XML,沒有。 <head></head>
完全是相當於<head />
。實際上,XML解析器甚至不會告訴你你擁有哪一個。
(有,然而,在該<head>
標籤必須問題包含<title>
)
一般來說空元素可以寫成一個自我結束標記,或者開始和結束標記。
但是,HTML4 DTD指定文檔HEAD必須包含TITLE元素。
「每個HTML文檔都必須在HEAD部分有一個TITLE元素。」
http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#h-7.4.1
即使只考慮瀏覽器的問題(即不考慮有效期)和單獨縮小問題下到head
標籤,答案是肯定的還是。
比較
<head/>
<object>Does this display?</object>
對
<head></head>
<object>Does this display?</object>
每個被服務爲text/html到IE的任何版本。
Does this display?
只會在後面的例子中顯示。
自閉標籤不存在HTML。 /
始終被忽略,即<foo/>
和<foo>
是等效的。對於像br
這樣的元素,這很好,因爲你想要<br>
。但是,<script src="..." />
的含義與<script src="...">
相同,這是一個問題(如其他答案中所述)。 <head/>
不是一個問題,因爲無論如何</head>
結束標記是可選的。
在XML,另一方面,自閉標籤做你想要的。但是,即使您有XHTML文檔類型,您可能也會使用XML。除非您以text/xml
,application/xml
或application/xhtml+xml
MIME類型(或任何其他XML MIME類型)發送文檔,特別是如果您將它們發送爲text/html
,則它們將不會被視爲XML。
你不能有一個空頭元素,'