如何在CSS2中执行height: calc(100% - 18px);
?我在页面上有3个div
。
<body>
<div id="top">top</div>
<div id="middle">middle</div>
<div id="bottom">bottom</div>
</body>
top
为100%身高减去200px
middle
为200px
并位于top
bottom
bottom
当滚动条位于最顶端时,top
和middle
会占用浏览器窗口的100%,但用户应该可以向下滚动查看bottom
}。当用户滚动top
并且bottom
仍然是相同的大小(除非用户调整窗口大小)。
我想在没有JavaScript的情况下这样做,它需要是CSS2,因为我们还没有符合CSS3标准的浏览器。
答案 0 :(得分:5)
您可以在box-sizing: border-box
旁边添加负边距和填充。
注意:在下面的示例中,我使用50px
代替200px
,而200px
对于代码段输出来说有点太大了。您希望使用-50px
和50px
更改-200px
和200px
的实例,以获得所需的输出。
html, body {
height: 100%;
margin: 0;
}
#top {
background: tomato;
box-sizing: border-box;
height: 100%;
margin-bottom: -50px;
padding-bottom: 50px;
}
#middle {
background: cornflowerblue;
height: 50px;
}
#bottom {
background: papayawhip;
}
&#13;
<div id="top">top</div>
<div id="middle">middle</div>
<div id="bottom">bottom</div>
&#13;