简单的全屏透明div,允许滚动

时间:2014-03-26 10:32:51

标签: javascript jquery css html

我点击了一个链接时出现的弹出框。我希望背景变黑,并使用透明的全屏div来实现这一目标。我还希望盒子水平和垂直居中,无论用户在哪个页面上看。

当我这样做时,黑色叠加层不会延伸到页面底部。 如果向下滚动,页面的其余部分将正常显示。我也无法让弹出窗口正确居中。

Here's a jsFiddle demonstrating.

这是我的代码:

HTML:

<div id="overlay">
    <!--- Make a really long page for demo --->
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
    <br /><br /><br /><br /><br /><br />
</div>

<div id="popup">Here is some text</div>

CSS:

#overlay
{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 111;
    background-color: #000;
    opacity: 0.5;
    width: 100%;
    height: 100%;
}

#popup
{
    left: 30%;
    top: 40%;
    background-color: #FFF;
    z-index: 222;
    width: 300px;
    height: 200px;
    position: absolute;
}

1 个答案:

答案 0 :(得分:1)

您需要将absolute定位更改为fixed定位,如下所示:

position: fixed;

<强> DEMO