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