如果doctype关闭,doctype会100%杀死但不会杀死吗?

时间:2015-09-08 00:00:33

标签: css html5 doctype

我试图制作100%高度的东西并添加一个doctype打破这个。这是other questions解释的。   然而,我发现了一些奇怪的东西 - 如果我关闭了doctype标签(我知道你不应该这样做),那么100%的高度在chrome和IE上再次起作用。到底发生了什么?关闭doctype是否意味着忽略了doctype?

    <!doctype html/> <!--You're not supposed to close doctype but if you do, then 
the 100% sizing works. Why?-->
<html>
<body>
    <!--This 100% height won't work with a normal doctype but closing
    the doctype makes it work?-->
    <div style="border:5px solid black;height:100%">This should be 100%</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

根据8.1.1 The DOCTYPE

  

DOCTYPE必须按以下顺序组成:

     
      
  1. 与字符串&#34; ASCII case-insensitive匹配的字符串   
  2. 一个或多个space characters
  3.   
  4. 字符串&#34; html&#34; ASCII case-insensitive匹配的字符串。
  5.   
  6. 可选择DOCTYPE legacy stringobsolete permitted DOCTYPE string(定义如下)。
  7.   
  8. 零或更多space characters
  9.   
  10. A&#34;&gt;&#34; (U + 003E)角色。
  11.   

因此,您的&#34;已关闭的doctype&#34;是无效的doctype。因此,就像你根本就没有文档类型一样。