之前談過doctype的問題,被忽視的DOCTYPE,最末說了提倡使用,最簡潔明了且是標準模式。
但是最近發(fā)現(xiàn)使用這種方式會產(chǎn)生問題,見代碼:
代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>test page</title>
</head>
<body>
<p><div>a</div></p>
</body>
</html>
這段代碼假如用w3c markup validation檢測,發(fā)現(xiàn)是能通過驗證的,因為html5驗證還處于實驗階段,所以并未檢測出不合法的地方。
但是假如使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,你就會發(fā)現(xiàn)未驗證通過。
原因是p這個標簽比較特殊,是不能包含block標簽的??磥磉^早的使用一些實驗性特性也會帶來問題,安全起見,還是提倡使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。