自关闭输入标签在 HTML 4 中有效吗?
根据 http://www.w3.org/TR/html401 /interact/forms.html#h-17.4,输入元素应以单个 >
结尾,而不是 />
。尽管大多数浏览器都可以处理以 />
结尾的输入元素,但是根据 HTML 语法规则,这样的输入元素有效吗?换句话说,像 和
这样的元素在 HTML 4 中有效吗?
(这个问题是关于 HTML 而不是 XHTML!!!)
According to http://www.w3.org/TR/html401/interact/forms.html#h-17.4, an input element should end with a single >
and not a />
. Though that most browsers can handle an input element that ends with />
, is such an input element valid according to HTML syntax rules? In other words are elements like <input ... />
and <br />
valid in HTML 4?
(This question is about HTML and not XHTML!!!)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
该语法在某些地方有效但与XHTML中的含义不同,因此不要使用它们。
在 HTML 4 中
(其中 foo 是定义为 EMPTY 的元素名称)与含义相同>
与>
含义相同(尽管几乎没有浏览器正确支持该语法,Emacs-W3 曾经支持,但破坏了与有利于正确呈现所谓的 HTML 兼容 XHTML 1.0 文档的标准)。因此,这在您可以拥有
>
的地方有效,例如允许您使用的任何地方,但在其他地方则无效(例如
,它是的子元素(严格来说)。
与可选开始和结束标记的规则的交互增加了更多的复杂性。在过渡性文档中,这是有效的:
并且意味着:
这种速记语法可能很有用,或者至少可以节省时间,例如:
而不是更详细的:
...但是 该语法从未得到很好的支持,并且规范表示应该避免使用它。
The syntax is valid in some places but doesn't mean the same as in XHTML, so don't use them.
In HTML 4
<foo />
(where foo is the name of an element defined as EMPTY) means the same as<foo>>
which means the same as<foo>>
(although almost no browser supports the syntax correctly, Emacs-W3 used to, but broke compatibility with the standard in favour of rendering so-called HTML compatible XHTML 1.0 documents correctly).This is, therefore, valid in places where you can have a
>
such as anywhere you are allowed an<img>
but not in other places (such as an<hr>
that is a child element of the<body>
(in Strict)).The interaction with the rules for optional start and end tags adds more complication. In a Transitional document, this is valid:
and means:
This shorthand syntax could be useful, or at least a time saver, for things like:
instead of the more verbose:
… but the syntax has never been well supported and the specification says it should be avoided.
实际上已解决...根据 W3C HTML 4 验证器,最好不要在 HTML 4 中使用这种编写元素名称的风格:
Solved actually... according to W3C HTML 4 validator it's better not to use this style of writing element names in HTML 4:
来自 HTML 兼容性指南:
在尾随
/< 之前包含一个空格空元素的 /code> 和
>
,例如
、
和< ;img src="karen.jpg" alt="Karen" />
.另外,对空元素使用最小化标记语法,例如
,因为 XML 允许的替代语法给出许多现有用户代理的结果不确定。
From the HTML Compatibility Guidelines:
Include a space before the trailing
/
and>
of empty elements, e.g.<br />
,<hr />
and<img src="karen.jpg" alt="Karen" />
. Also, use the minimized tag syntax for empty elements, e.g.<br />
, as the alternative syntax<br></br>
allowed by XML gives uncertain results in many existing user agents.