将div与中心对齐然后向左移动

时间:2013-06-12 21:33:34

标签: css html alignment center pixel

我使用以下代码制作div ...

left:50%; 
top:0px;
width:100%; 
margin-left:-50%;

background:black;

padding:20px;

position:fixed;

但问题是div上有填充因此我需要额外添加20px来将div对齐到中心。有没有办法做到这一点?我试过像margin-left:-(50%+20px);这样的东西但是在CSS中不起作用......

任何人都知道如何做到这一点?谢谢!

2 个答案:

答案 0 :(得分:3)

大小调整可行,但遗憾的是它不适用于较旧的浏览器(即7及更早版本)。 http://caniuse.com/css3-boxsizing

要做的最好的事情(,如果定位所有浏览器)是删除填充并添加仅包含该填充的子包装。

HTML:

<div id="centered">
  <div id="wrapper">
    [...]
  </div>
</div>

的CSS:

#wrapper {
  padding: 20px;
}

答案 1 :(得分:1)

使用

box-sizing:border-box;

因此在计算宽度时包括填充; 干杯
请参阅rec:http://www.w3.org/TR/css3-ui/#box-sizing0