CSS垂直&水平中心区

时间:2011-11-27 21:26:46

标签: html css

我有一个包含ASP.NET表单的弹出窗口,单击“请求信息”链接并显示该表单。

但是,具有“请求信息”链接以触发弹出窗口的页面具有大量内容,因此需要滚动才能看到该链接。

如果用户滚动阅读内容,我需要始终居中div,否则如果他们不滚动,弹出窗口仍会显示在屏幕中心。

div绝对定位,整页宽度为960px,边距设为0 auto

5 个答案:

答案 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