CSS:100%页面高度,无滚动,在IE7中工作

CSS:100%页面高度,无滚动,在IE7中工作,css,internet-explorer,scroll,height,Css,Internet Explorer,Scroll,Height,前言: 在IE7中,我已经阅读了大概3打关于100%高度CSS的答案,但似乎没有一个答案能回答我这个极其简单的问题。如果这是一个重复,我道歉,但我找不到现有的答案 问题: 我有一个简单的网站,左侧有一个导航栏。在某些页面上,页面内容需要向下滚动,而在其他页面上则不需要向下滚动 我想让导航背景一直延伸到页面底部,不管是否需要滚动,但如果内容不需要滚动,我不想引入滚动 到目前为止,我发现了以下几点: position: absolute; height: 100%; 如果还没有滚动,则会添加滚动,

前言: 在IE7中,我已经阅读了大概3打关于100%高度CSS的答案,但似乎没有一个答案能回答我这个极其简单的问题。如果这是一个重复,我道歉,但我找不到现有的答案

问题: 我有一个简单的网站,左侧有一个导航栏。在某些页面上,页面内容需要向下滚动,而在其他页面上则不需要向下滚动

我想让导航背景一直延伸到页面底部,不管是否需要滚动,但如果内容不需要滚动,我不想引入滚动

到目前为止,我发现了以下几点:

position: absolute;
height: 100%;
如果还没有滚动,则会添加滚动,如果内容自然需要滚动,则背景会提前停止

position: absolute;
bottom: 0;
完全可以在Firefox和Chrome上运行,但不能在IE7上运行+


我想出了一个办法,在颜色的HTML元素上重复背景图像,但这意味着如果我想更改颜色,我必须生成一个新图像,这似乎很愚蠢。

IE7支持位置:如果指定了某个doctype,则修复

<!doctype html>
<html>
<head><title>title</title>
<style type="text/css">
html, body{ height:100%; margin:0; padding:0; }
.nav{ position:fixed; left:0; top:0; height:100%; background-color:#ccc; width:100px; }
.very-high{ height:3000px; margin-left:110px; }
</style>
</head>
<body>
    <div class="nav">div class="nav"</div>
    <div class="very-high">a div with height:3000px</div>
</body>
</html>

标题
html,正文{高度:100%;边距:0;填充:0;}
.nav{位置:固定;左侧:0;顶部:0;高度:100%;背景色:#ccc;宽度:100px;}
.非常高{高度:3000px;左边距:110px;}
div class=“导航”
高度为3000px的div
创建一个