感谢你的帮助,我已经解决了我的问题,稍微调整了一下,因为我想要一个宽度和高度都为100%的div(减去底部栏的高度),并且在body上没有滚动条(不需要hack /隐藏滚动条)。
对于CSS:
html{
width:100%;height:100%;margin:0px;border:0px;padding:0px;
}
body{
position:relative;width:100%;height:100%;margin:0px;border:0px;padding:0px;
}
div.adjusted{
position:absolute;width:auto;height:auto;left:0px;right:0px;top:0px;bottom:36px;margin:0px;border:0px;padding:0px;
}
div.the_bottom_bar{
width:100%;height:31px;margin:0px;border:0px;padding:0px;
}
对于HTML:
<body>
<div class="adjusted">
// My elements that go on dynamic size area
<div class="the_bottom_bar">
// My elements that goes on bottom bar (fixed heigh of 31 pixels)
</div>
</div>
我成功了,我把div.adjusted的底部值设得比底部栏高度稍微大一点,这样就不会出现垂直滚动条了,我调整到最近的值。
这种差异是因为动态区域中的一个元素添加了一个额外的底部空洞,我不知道如何摆脱它...它是一个视频标签(HTML5),请注意我使用了以下CSS来放置该视频标签(所以没有理由它会产生底部空洞,但它确实产生了):
video{
width:100%;height:100%;margin:0px;border:0px;padding:0px;
}
目标:拥有一个视频,它占据浏览器的100%(并且在浏览器调整大小时动态调整大小,但不改变纵横比),除了底部空间,我用它来放置一些文本、按钮等(当然还要符合w3c和css的验证)。
编辑:我找到了原因,视频标签就像文本一样,并不是块级元素,所以我用以下CSS进行修复:
video{
display:block;width:100%;height:100%;margin:0px;border:0px;padding:0px;
}
请注意视频标签上的
display:block;
。