(一切都在最新的 Firefox 中进行了测试。)
这个 html 代码创建了一个几乎填满屏幕的红色框:
<html>
<head>
</head>
<body>
<div style="height:100%;background-color:red;"></div>
</body>
</html>
但是添加 doctype 声明会禁用相对高度并使 div 的高度为零:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="height:100%;background-color:red;"></div>
</body>
</html>
为什么是这样?特别是,我不明白为什么浏览器会在没有 doctype 的文档中考虑相对高度,因为它们不在显式 html 中。