不,HTML 4.x 没有自闭合标签的概念。
XHTML 中是有效的。
<p/hello/
相当于 <p>hello</p>
。W3C DTD 验证器支持这种怪异的特性,但没有浏览器支持它。 - Korneldiv标签不是有效的自闭合标签。如果想要一个空的
<div id="myDiv"></div>
根据XML声明和XHTML 1.0和1.1文档定义,这是可以的:当紧接着无结束标签的起始标签闭合符(/
)时,可以使用无结束标签(>
),您的代码等同于<div id="myDiv"></div>
。
但是不同的消费者是否能够正确处理这个问题就完全不同了。
HTML 4.01使用的SGML声明允许标记缩写,但其无结束标记具有不同的语法;在那里,您可以编写<div id="abc"/this is a non-empty div/
。同样,浏览器支持可能会因此而异。(我猜测支持"没有")。
HTML的未来版本(HTML5?如果这个名字还活着)不再实现为SGML语言,因此它们只允许它们所说的,而不需要正式的语法。
我将这两个代码块通过W3C 验证器进行了验证。将代码复制并粘贴到直接输入选项卡下的输入框中,即可查看结果。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>title</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" >
</head>
<body><div id="Mydiv" /></body>
</html>
使用过渡型HTML 4.01的代码块未通过验证过程。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
</head>
<body><div id="Mydiv" /></body>
</html>