【发布时间】:2017-10-02 15:22:28
【问题描述】:
我有一个奇怪的行为,我无法解释:当我将行 <!DOCTYPE html> 放在代码的开头时,我的页面的滚动条没有像预期的那样围绕标签“main”。如果我删除这第一行,我有预期的行为。这是为什么?我的错误是什么?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="initial-scale=1.0">
<title>Off Track</title>
</head>
<body style="margin: 0px; padding:0px;">
<header style="background:green; width:100%; height: 50px;">
</header>
<main style="background:red; width:100%; height:calc(100% - 70px); overflow-y: auto">
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
bla bla <br> bla bla <br> bla bla <br> bla bla <br> bla bla <br>
</main>
<footer style="background: yellow; width:100%; height:20px;">
</footer>
</body>
</html>
注意:如果我将height:calc(100% - 70px) 替换为height:calc(100vh - 70px),我也会有预期的行为,但我想避免使用vh。
【问题讨论】:
-
这里有两个不同的问题(“100% 不工作”和“不同文档类型的不同渲染”)。两个副本(链接)分别涵盖每个问题。
-
如果你知道,你只需要一个html标签并保持特定的高度,这应该可以解决你的问题