我的页面中有一个按钮,单击该按钮会在屏幕中间显示一个div(弹出式样式) .
我使用以下CSS将div放在屏幕中间 .
.PopupPanel
{
border: solid 1px black;
position: absolute;
left: 50%;
top: 50%;
background-color: white;
z-index: 100;
height: 400px;
margin-top: -200px;
width: 600px;
margin-left: -300px;
}
只要页面没有向下滚动,它就可以正常工作 .
但是,如果我将按钮放在页面底部并单击它,则div显示在顶部(用户必须向上滚动才能查看div的内容) .
我想知道如何在屏幕中间显示div,用户是否向上/向下滚动 .
5 回答
将
position
属性更改为fixed
而不是absolute
.将
position:absolute;
更改为position:fixed;
更改
至
W3C specifications for position: absolute and for position: fixed.
即使你没有固定的尺寸,我也发现了一个新的技巧,可以将一个盒子放在屏幕中间 . 假设你想要一个60%宽度/ 60%高度的盒子 . 使其居中的方法是创建2个框:一个位于左侧的“容器”框:50%顶部:50%,内部带有反向位置的“文本”框:-50%;上:-50%;
它的工作原理与浏览器兼容 .
看看下面的代码,你可能会得到更好的解释:
好极了!
正确的方法是