我弹出一个包含ASP.NET窗体的窗体,单击链接“请求信息”并出现窗体。CSS垂直和水平中心Div
但是,具有“请求信息”链接以触发弹出窗口的页面有很多内容,因此需要滚动才能看到链接。
我需要div
总是居中,如果用户滚动阅读内容,否则如果他们不滚动弹出窗口仍然出现在屏幕上居中。
div
被绝对定位,整个页面宽度为960px
,保证金设置为0 auto
。
我弹出一个包含ASP.NET窗体的窗体,单击链接“请求信息”并出现窗体。CSS垂直和水平中心Div
但是,具有“请求信息”链接以触发弹出窗口的页面有很多内容,因此需要滚动才能看到链接。
我需要div
总是居中,如果用户滚动阅读内容,否则如果他们不滚动弹出窗口仍然出现在屏幕上居中。
div
被绝对定位,整个页面宽度为960px
,保证金设置为0 auto
。
如果div有一个固定的宽度和高度用途: (如果width = 120像素的高度= 80px)
position: fixed;
top: 50%;
left: 50%;
margin-left: -60px; /* negative half of the width */
margin-top: -40px; /* negative half of the height */
使用位置:固定;为此,在顶部,左侧,右侧和底部使用0,并给div一个显示:table-cell;另外,像这样,设置text-align:center;和vertical-align:middle;将使内部的所有内容完全出现在中间,而不会像像负边界那样像素精确的黑客入侵。
好了,什么值左侧和顶部? – Filth
@JordyVialoux更新了答案。 – 2011-11-27 22:16:58
如果您的弹出div有固定的大小,那么你可以使用这个CSS:
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto; /* this requires a fixed size */
否则,你必须摆弄display:table-cell;等等。
这是你想要做的吗? http://jsfiddle.net/Hrwf8/
此处的关键是将左侧和顶部样式设置为50%,并将margin-left和top设置为div的宽度和高度的一半的负值。这当然要求你有一个固定的大小为你的div。
在你的CSS:
.ClassCenter {
position: absolute;
left: 50%;
top: 50%;
}
来源: http://demo.tutorialzine.com/2010/03/centering-div-vertically-and-horizontally/demo.html
这只是将左上角放在中心,该框仍然不会居中 – davethegr8
这将div放在右下角,而不是居中。你需要对利润进行负数。 – Godwin
他们现在是负面的... – ninov