我一直並且將繼續始終關閉一個HTML輸入諸如關閉HTML輸入會打破任何東西,反之亦然?
<input type=text />
代替非XHTML方式
<input type=text>
但我的問題是,無論哪種方式有任何可預見的問題,即跨瀏覽器,移動設備等?我剛剛注意到我使用的框架生成的輸入沒有結束標記,我討厭我的代碼和他們的代碼有差異。這真的很煩人和醜陋。
我一直並且將繼續始終關閉一個HTML輸入諸如關閉HTML輸入會打破任何東西,反之亦然?
<input type=text />
代替非XHTML方式
<input type=text>
但我的問題是,無論哪種方式有任何可預見的問題,即跨瀏覽器,移動設備等?我剛剛注意到我使用的框架生成的輸入沒有結束標記,我討厭我的代碼和他們的代碼有差異。這真的很煩人和醜陋。
就個人而言,我從來沒有看到由於在HTML文檔中關閉空標籤而導致的跨瀏覽器問題。
但是,根據Refactoring HTML,較舊的瀏覽器(如Netscape 3)不會正確解析空元素。
這是因爲在SGML和一些HTML4解析器,有一個語法「NET」,這是類似於空標籤語法的支持:(來自XHTML Considered Harmful引述)
的「/>」空標籤語法實際上在 HTML4中具有完全不同的含義。 (這是被稱爲NET,如果我 記錯名字的SHORTTAG最小化功能)。具體而言,XHTML
<p> Hello <br /> World </p>
...,如果解釋爲HTML4,完全等同於:
<p> Hello <br>> World </p>
...並且應該被渲染爲:
Hello > World
因此,如果您使用的是HTML4 <!DOCTYPE>
和targettin g Netscape 3,不要這樣做!但是如果你使用的是HTML5(或XHTML),關閉你的空標籤沒有什麼壞處 - 事實上在XHTML中你必須這麼做,否則Tim Bray會殺死一隻小狗。
Lol,Netscape 3.04 Gold ... – 2012-06-27 20:32:30
有一個未關閉的輸入標籤仍然是有效的html,所以如果你不需要符合xhtml標準,你應該可以。
input
標籤已經關閉很長時間,幾乎任何系統都應該能夠處理它,而無需關閉。如果您已經將文檔聲明爲XHTML,那麼它將不會驗證標記是否未關閉,並且某些XML實用程序可能在解析它時遇到困難,但Web瀏覽器被設計爲在接受它們時非常自由。
除IE ...... –
@RKS鏈接/明確關閉的''斷IE的例子?假設6+? (儘管6對我來說已經死了) – 2012-06-27 22:10:26
以外的代碼驗證,我不會預見任何問題,但我從來沒有做過任何徹底的測試 – jackwanders
您應該閱讀[XHTML認爲有害](http://hixie.ch/advocacy/xhtml) –
這不是與您的框架相關,瀏覽器將始終按照自己的意願執行任何操作:http://jsbin.com/uhenih/6/edit#preview – Mageek