【发布时间】:2011-01-04 19:49:26
【问题描述】:
考虑使用此代码将 div 相对于其父元素居中:
div {
width:200px;
position:absolute;
left:50%;
margin-left:-110px;
padding:10px;
display:table;
}
我们使用的是 (width/2) - padding,对吧?
为什么所有基于 Webkit 的浏览器(Safari 和 Chrome)都将这个 div 居中 10px 到左侧?这 10px 是内边距。
所以我们这里有两个方面:
- Chrome + Safari -> 内边距不得包含才能正确居中
- Firefox、IE、Opera -> 内边距必须不包含才能正确居中
现在我的问题是,两者中哪一个实际上做得对?
编辑:
显然;该问题仅在添加 display:table 时出现;到 div。举个例子:http://jsfiddle.net/rhKW7/1/link text
【问题讨论】: