我可以通过给任何
添加一个类名
现在当弹出窗口显示时,我还想创建一个遮罩层(或蒙版),使其覆盖在弹出框下面的其他页面元素上。为了创建这个遮罩层,我采用了纯CSS方法使用伪类选择器,以便在弹出框(一个
除了弹出窗口上的蒙版即使我将 z-index 设置低于弹出窗口时,一切都很好。令人惊讶的是,它只在
请查看这里的 JSFiddle。
turnIntoOverlay
,将其转换为弹出框。 (参见JSFiddle)
.turnIntoOverlay {
position: fixed;
background-color: white;
top: 60px;
max-width: 680px;
z-index: 80;
border: 6px solid #BBB;
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
max-height: 800px;
overflow: auto;
padding:10px;
}
现在当弹出窗口显示时,我还想创建一个遮罩层(或蒙版),使其覆盖在弹出框下面的其他页面元素上。为了创建这个遮罩层,我采用了纯CSS方法使用伪类选择器,以便在弹出框(一个
turnIntoOverlay
元素)可见时简单地显示/隐藏遮罩层。我添加了以下CSS:.turnIntoOverlay:after {
content: "";
background-color: whitesmoke;
position: fixed;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0.5;
top: 0;
left: 0;
}
除了弹出窗口上的蒙版即使我将 z-index 设置低于弹出窗口时,一切都很好。令人惊讶的是,它只在
z-index=-1
时起作用。你能建议如何纠正这个问题吗?请查看这里的 JSFiddle。
turnIntoOverlay
添加到<div/>
中的? - Linus Caldwell<div id="overlay"/>
,并在添加.turnIntoOverlay
的同时附加一个.show
或其他类到#overlay
上呢?我认为这会大大简化事情。 - Linus Caldwellbackground-color
并且不需要border
具有所需的颜色,则无需更改 HTML 代码即可完美解决问题。 - Linus Caldwell