关于这个复杂的问题,我需要您的帮助。
我有固定的页眉,左侧边栏和绝对粘页脚,并且如果内容高度小于浏览器的高度,则看不到滚动。
HTML
<header></header>
<div class="container">
<div class="aside-left">
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
<p>sdfsdfs</p>
</div>
<div class="container-mid"></div>
<div class="push"></div>
<footer></footer>
</div>
的CSS
html, body {
height:100%;
background:#ffaaaa;
margin:0;
}
header {
background: #2f3d4c;
overflow: hidden;
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 600;
width: 100%;
height: 75px;
}
.container {
min-height:100%;
position:relative;
}
.aside-left {
background-color: rgba(255, 255, 255, 0.8);
position: fixed;
left: 0;
top: 75px;
min-height: 100%;
width: 192px;
overflow: hidden;
z-index: 50;
}
.container-mid {
margin-left: 192px;
padding-top: 75px;
}
.push, footer {
height: 55px;
}
footer {
position: absolute;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
color: #ffffff;
width: 100%;
background: #2f3d4c;
z-index: 100;
}
@media only screen and (max-height: 690px) {
.aside--left {
position: absolute;
margin-bottom: -75px;
float: left;
margin-right: -100%;
}
}
在大屏幕上,一切正常,但是当屏幕高度较小且Left Sidebar的内容高于容器高度时,页脚与Left Sidebar的内容重叠且部分内容不可见(请参见小提琴)。
我需要它在IE8 +中也能正常工作,并在浏览器高度较小时保持左侧边栏的绝对位置,以使左侧边栏从上到下被分开(就像我在媒体查询中所做的那样)。
解决方案也可以包括JS。
小提琴:http://jsfiddle.net/frontDev111/dqd2f2dt/1/
最佳答案
如果我理解正确,那么您正在尝试实现这样的目标。
我用position: fixed
固定了页脚,并在左侧边栏添加了overflow: auto
(以显示滚动条,因为您隐藏了它们),并且还添加了bottom: 55px
(页脚高度)。
http://jsfiddle.net/dqd2f2dt/4/
(我在其中填充了testdata内容,以测试内容本身的工作方式)
我用IE9进行了测试,它工作正常。