doctype的markup validation

2021年1月15日 34点热度 0人点赞

但是最近发现使用这种方式会产生问题,见代码:

复制代码

代码如下:

<!DOCTYPE HTML>
<html>
<head>
<title>test page</title>
</head>
<body>
<p><div>a</div></p>
</body>
</html>

这段代码假如用w3c markup validation检测,发现是能通过验证的,因为html5验证还处于实验阶段,所以并未检测出不合法的地方。

但是假如使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,你就会发现未验证通过。

原因是p这个标签比较特殊,是不能包含block标签的。看来过早的使用一些实验性特性也会带来问题,安全起见,还是提倡使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。

99君

这个人很懒,什么都没留下