关闭HTML输入会破坏任何内容,反之亦然?

时间:2012-06-27 20:00:21

标签: html xhtml input

我一直并将继续关闭HTML输入,例如

<input type=text />

而不是非XHTML方式

<input type=text>

但我的问题是,无论哪种方式都有任何可预见的问题,即跨浏览器,移动设备等?我刚才注意到我使用的框架生成没有结束标记的输入,我讨厌我的代码和他们的代码之间的差异。这真令人讨厌和丑陋。

3 个答案:

答案 0 :(得分:2)

input标签已经解锁了很长时间,几乎任何系统都应该能够在没有关闭的情况下处理它。如果您已将文档声明为XHTML,那么它将不会验证标记是否未关闭,并且某些XML实用程序可能无法解析它,但Web浏览器的设计在他们接受的内容中非常宽松。

答案 1 :(得分:1)

就个人而言,由于关闭HTML文档中的空标记,我从未见过跨浏览器问题。

但是,根据Refactoring HTML,Netscape 3等旧版浏览器无法正确解析空元素。

这是因为在SGML和一些HTML4解析器中,支持语法“NET”,类似于空标记语法:(引自XHTML Considered Harmful

  

“/&gt;”空标签语法实际上具有完全不同的含义   HTML4。 (这是SHORTTAG最小化功能,称为NET,如果我   正确地回忆起这个名字。)具体来说,是XHTML

<p> Hello <br /> World </p>
     

...如果被解释为HTML4,则完全等同于:

<p> Hello <br>&gt; World </p>
     

......并且应该真正呈现为:

Hello
> World

因此,如果您使用的是HTML4 <!DOCTYPE>并定位到Netscape 3,请不要这样做!但是如果你使用的是HTML5(或XHTML),那么关闭你的空标签是没有害处的 - 事实上,你必须使用XHTML,或者Tim Bray会杀死一只小狗。

答案 2 :(得分:0)

有一个未关闭的输入标记仍然是有效的html,所以如果你不需要符合xhtml标准,你应该没问题。