我有一个绝对定位的 div(因为它包含本身绝对定位的子 div),我想要水平居中。
我可以使用以下 CSS 来实现
width : 512px;
position : absolute;
left : 50%;
margin-left :-256px; // half width of div
(在http://jsbin.com/eruwep/2/edit中完成测试)
但是,当窗口不够大时,div 会向左溢出。
当页面足够大时,有没有办法让它居中,否则左对齐(仅使用 CSS)?
我有一个绝对定位的 div(因为它包含本身绝对定位的子 div),我想要水平居中。
我可以使用以下 CSS 来实现
width : 512px;
position : absolute;
left : 50%;
margin-left :-256px; // half width of div
(在http://jsbin.com/eruwep/2/edit中完成测试)
但是,当窗口不够大时,div 会向左溢出。
当页面足够大时,有没有办法让它居中,否则左对齐(仅使用 CSS)?
您可以尝试媒体查询:http: //jsfiddle.net/RfUZj/
为什么要使用position: absolute容器?如果只是因为您希望其绝对定位的子项相对于其容器定位,则不需要这样做absolute。除此以外的任何值static都可以。
将您在问题中提到的 CSS 更改为以下内容将使其工作:
width : 512px;
position : relative;
margin : auto;
示例:http: //jsbin.com/eruwep/3/edit