doctype的markup validation

字號:


    之前談過doctype的問題,被忽視的DOCTYPE,最末說了提倡使用,最簡潔明了且是標(biāo)準(zhǔn)模式。
    但是最近發(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)是能通過驗(yàn)證的,因?yàn)閔tml5驗(yàn)證還處于實(shí)驗(yàn)階段,所以并未檢測出不合法的地方。 
    但是假如使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,你就會發(fā)現(xiàn)未驗(yàn)證通過。 
    原因是p這個標(biāo)簽比較特殊,是不能包含block標(biāo)簽的??磥磉^早的使用一些實(shí)驗(yàn)性特性也會帶來問題,安全起見,還是提倡使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">。