我已经尝试过检查其他答案,但我仍然感到困惑 - 特别是在看到W3schools HTML 5参考后。
注意:<input>
元素为空,它只包含属性。
在HTML中,<input>
标记没有结束标记
在XHTML中,必须正确关闭<input>
代码,例如此<input />
。
是<input>
还是<input />
?
答案 0 :(得分:2)
正如您所说,HTML使用<input>
并且不需要结束标记</input>
但是,XML语言不允许在不关闭标记的情况下打开标记。要指定标签不会关闭,必须添加“/”
因此XHTML(= XML + HTML)需要<input />
或者更准确地说,XHTML是HTML兼容的XML
答案 1 :(得分:-1)
您在问题中已经提到的答案取决于您使用的是HTML还是XHTML。这取决于您的doctype和Content-Type
HTTP标头的组合。
此时,XHTML是effectively dead,几乎每个人都在使用HTML。所以对于一个实际的答案:只需使用<input>
。即使HTML浏览器通常理解这两种语法,但使用自动关闭语法也没有兼容性增益,而且无论如何它都是一两个额外的字符。
答案 2 :(得分:-1)
但是,有些元素被禁止包含任何内容。在HTML中,上述语法不能用于void元素。对于此类元素,必须省略结束标记,因为解析器会自动关闭该元素。这些被称为空元素。这些元素如:br,hr,img,link和meta(这些都知道为解锁标签)。
示例:
在XHTML中,XML语法要求规定必须使用显式结束标记(如上所述)或空元素语法使其显式化。这是通过在直角括号(&gt;)之前的开始标记的末尾插入斜杠来实现的。
示例:
作者可以选择在HTML语法中对void元素使用相同的语法。有些作者还选择在斜线前加入空格,但这不是必需的。
如果您使用Dreamweaver CS6,它将自动完成为。
要在W3C上验证您的HTML文件,请参阅:http://validator.w3.org/