当使用IE或FF时,我的DIV(用作导航)未使用高度:100%。 Chrome工作正常。Chrome vs IE/FF CSS高度100%问题
- 我做了研究,并尝试在不同的和多个DIV上使用
position: absolute;
,但是这从来没有为我修复过。 - 在我看来,body和html height设置为100%(
html, body { height: 100%; }
)。 - Clearfix不适用于我(stackoverflow - clearfix)。使用
overflow: hidden;
不能帮助我。
我真的很想理解这个问题,我真的试着在做研究的时候不打扰,但我不明白。以下:的jsfiddle,CSS & HTML代码,2个截图(Chrome和FF)
的jsfiddle:http://jsfiddle.net/nqsto6r9/4/
我的CSS:
body, html {
height: 100%;
min-width: 1280px;
width: 100%;
}
body { margin: 0 auto; }
button {
margin-left: 5px;
margin-right: 5px;
width: 154px;
}
input {
margin-left: 5px;
margin-right: 5px;
padding-left: 5px;
padding-right: 5px;
width: 140px;
}
select {
margin-left: 5px;
margin-right: 5px;
width: 154px;
}
#content {
background-color: #FFFFFF;
float: left;
width: calc(100% - 170px);
}
#content_header {
background-color: #4C587E;
height: 25px;
width: 100%;
}
#header {
background-color: #3761A7;
float: left;
width: 100%;
}
#header_span {
float: left;
margin-bottom: 20px;
margin-left: 20px;
margin-top: 20px;
}
#inner_content {
max-width: 1024px;
float: left;
margin-bottom: 0.5cm;
margin-left: 0.5cm;
margin-right: 0.5cm;
margin-top: 0.5cm;
width: calc(100% - 1cm);
}
#nav {
float: left;
line-height: 1.5em;
padding-bottom: 5px;
padding-left: 10px;
padding-right: 10px;
padding-top: 30px;
width: 150px;
}
#wrapper {
float: left;
height: 100%;
width: 100%;
display: table;
}
#wrapper_nav {
background-color: #C0C0C0;
float: left;
height: 100%;
min-height: 450px;
width: 170px;
}
我的HTML:
<div id="header">
<span id="header_span" class="header_h1"></span>
</div>
<div id="wrapper">
<div id="wrapper_nav">
<div id="nav">
<a href=".html" class="nav_links">1</a><br />
<hr>
<a href=".html" class="nav_links">2</a><br />
<hr>
<a href=".html" class="nav_links">3</a>
</div>
</div>
<div id="content">
<div id="inner_content">
asda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
adasda<br>
</div>
</div>
</div>
浏览器(我想):
火狐(我需要解决什么):
谢谢意见。
更新
现在使用CSS display Property &去了解它...
UPDATE2 - 解决方案
有人给我发,我尝试过了解jsfiddle。我需要改变:
#content {
background-color: #FFFFFF;
float: left;
width: calc(100% - 170px);
}
#wrapper {
float: left;
height: 100%;
width: 100%;
display: inline-block;
}
#wrapper_nav {
background-color: #C0C0C0;
float: left;
height: 100%;
min-height: 450px;
width: 170px;
}
到
#content {
background-color: #FFFFFF;
display: table-cell;
vertical-align: top;
}
#wrapper {
float: left;
height: 100%;
width: 100%;
display: table;
}
#wrapper_nav {
background-color: #C0C0C0;
display: table-cell;
vertical-align: top;
width: 170px;
}
我认为这也是错误的Chrome。左边的导航是100%高的,但是那个元素在标题栏下面,所以你占用的空间比你的视口更多。我建议只使用JavaScript计算。 – Halcyon
我总是希望灰色的导航背景是100%的高度,即使我在那里只有3个条目。我希望我能理解你。 – Yaerox
我不认为这就是你想要的。你希望左侧的导航栏填写页面的_remainder_,这不是'height:100%'所做的事情。 – Halcyon