【发布时间】:2012-10-03 22:21:47
【问题描述】:
一直没有使用DOCTYPE,而是根据HTML5标准(据我了解)简单地以<html>开头。一切顺利。
开始使用Jade,它坚持使用DOCTYPE。使用<!DOCTYPE html> - 页面不再正确呈现(?)。
作为一个简单而琐碎的例子(firefox 和 chrome 上的行为相同):
<html>
<body >
<div style='height:50%; background-color:pink;'></div>
<div style='height:50%; background-color:blue;'></div>
</body>
</html>
渲染得很好 - 页面是粉红色的,一半是蓝色的
<!DOCTYPE html>
<html>
<body >
<div style='height:50%; background-color:pink;'></div>
<div style='height:50%; background-color:blue;'></div>
</body>
</html>
渲染两个你看不到的瘦 DIV。
- 发生了什么事?
- 认为 HTML5 已弃用
DOCTYPE - 我该怎么办?
【问题讨论】:
-
实际上,
DOCTYPE不仅是必需的,我认为它是唯一是必需的元素:<!DOCTYPE html>是一个有效的 HTML5单独记录。 -
@ultranaut,不,所需的
DOCTYPE前导码根本不是元素,如果您使用验证器,您会看到标记中需要title元素。 (html、head和body元素始终存在,但它们的开始和结束标记是可选的。) -
@JukkaK.Korpela 很公平,先生,
DOCTYPE不是一个元素。据我了解,在某些情况下title元素不是必需的,例如在电子邮件的上下文中? -
@ultranaut:是的,在某些情况下 (stackoverflow.com/a/11943126/1591669)