我正在尝试为模态窗口创建叠加层。 这是我的css
#overlay {
position: absolute;
background: #000;
width: 100%;
height: 100%;
z-index: 9800;
}
问题是图层不会覆盖整个页面。当我向下滚动叠加消失。 我错过了什么?
答案 0 :(得分:1)
使用fixed
定位:
position: fixed;
你应该:
#overlay {
position: fixed;
background: #000;
width: 100%;
height: 100%;
z-index: 9800;
}
答案 1 :(得分:1)
由于IE6不支持position: fixed
,因此我在Modalbox中使用了一个解决方案:
#overlay {
position: absolute;
width: 100%;
height: 100%;
z-index: 9999;
border: 0;
background-color: #000!important;
}
#overlay[id] { position: fixed; }
在这种情况下,IE将采用position: absolute
样式,但每个现代浏览器采用position: fixed
的第二个规则。
对于IE,您应该使用一些额外的CSS来防止它可滚动。我通过在正文上设置以下规则来管理它:
{
width: 100%;
height: 100%;
overflow: hidden;
}
如果你在一个加法类中做的更好,当你展示你的叠加层(在JS中)时,它会在body元素上切换。
答案 2 :(得分:1)
添加顶部:0,左:0和位置:固定到#overlay。您可以将不透明度css添加到。
#overlay {
position: fixed;
background-color: #000;
width: 100%;
height: 100%;
z-index: 9800;
top:0;
left:0;
opacity:0.5;
}