我有一个包含ASP.NET表单的弹出窗口,单击“请求信息”链接并显示该表单。
但是,具有“请求信息”链接以触发弹出窗口的页面具有大量内容,因此需要滚动才能看到该链接。
如果用户滚动阅读内容,我需要始终居中div
,否则如果他们不滚动,弹出窗口仍会显示在屏幕中心。
div
绝对定位,整页宽度为960px
,边距设为0 auto
。
答案 0 :(得分:16)
如果div具有固定的宽度和高度,请使用: (如果宽度= 120px且高度= 80px)
position: fixed;
top: 50%;
left: 50%;
margin-left: -60px; /* negative half of the width */
margin-top: -40px; /* negative half of the height */
答案 1 :(得分:0)
使用位置:固定;为此,使用0表示顶部,左侧,右侧和底部,并给div一个显示:table-cell;也像这样设置text-align:center;和vertical-align:middle;将使内部的所有内容完全出现在中间,而不像像负边距那样像素精确的黑客。
答案 2 :(得分:0)
如果您的弹出式div具有固定大小,那么您可以使用此CSS:
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto; /* this requires a fixed size */
否则你必须摆弄display:table-cell;等等。
答案 3 :(得分:0)
这是你想要做的吗? http://jsfiddle.net/Hrwf8/
这里的关键是将左侧和顶部样式设置为50%,并将margin-left和top设置为div的宽度和高度的一半的负值。这当然要求你的div有一个固定的大小。
答案 4 :(得分:0)
在你的CSS中:
.ClassCenter {
position: absolute;
left: 50%;
top: 50%;
}
来源: http://demo.tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/demo.html