CSS 高级 Div 定位。中心及中间
我想将
定位- 到以 wrt body 宽度居中
- 到以 wrt body 高度居中
div 将具有以下属性:
div
的宽度将为 90%- 高度
div
自动,最小值将会被知道
I want to position a <div>
- To Center with w.r.t body width
- To Middle with w.r.t body height
The div will have these properties:
- width of
div
will be 90% - height of
div
auto, min. will be known
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我已经在 IE8、Firefox、Chrome 中对此进行了测试。它在 IE7 中不起作用。
如果您需要它在 <= IE7 中工作,我想最简单的解决方案是放弃纯 CSS 并使用 javascript 进行垂直定位。
现场演示
HTML:
CSS:
I've tested this in IE8, Firefox, Chrome. It does not work in IE7.
If you need this to work in <= IE7, I imagine the simplest solution would be to give up on pure CSS and use javascript for the vertical positioning.
Live Demo
HTML:
CSS:
您可以这样居中高度(注意浏览器兼容性)。
对于居中宽度:您可以使用
position:absolute;
和left: 50%;
,以及margin: -num;
。在边距中,将 num 替换为 div 宽度的一半。You can center height like this (beware browser compatibility).
For centering width: you can use
position: absolute;
andleft: 50%;
, and themmargin: -num;
. In the margin, replace num with half of the width of the div.用这个设置div。我相信它在 IE 7 及更低版本中不起作用。可怕的IE....
Set the div with this. I believe it doesn't work in IE 7 and lower. Terrible IE....
您可以使用 margin(left,right) 5% 来模仿居中宽度的效果。
关于高度居中,我不知道如何单独使用 css 来做到这一点(因为垂直尺寸未知)。但你可以尝试使用 javascript 来做到这一点。
这是一个示例: http://www.demtron.com/blog/post/2009/01/14/Centering-a-DIV-Window-with-Cross-Browser-JavaScript.aspx(您可以忽略检测窗口大小部分)。
You may use margin(left,right) 5% to imitate the effect of centering width.
About the height centering, I don't know the way that you can do it with css alone (because of the unknown vertical size). But you may try using javascript to do that.
Here's an example: http://www.demtron.com/blog/post/2009/01/14/Centering-a-DIV-Window-with-Cross-Browser-JavaScript.aspx (you can ignore the detecting window size part).