我在IE7中的定位和边距有问题。我有绝对位置和汽车保证金的div。
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
margin: auto;
此div应该以其相对位置parent为中心。但在IE7中这不起作用。以下是工作代码http://jsfiddle.net/3zwkA/
的示例答案 0 :(得分:3)
如果你想把它的父母中的div完全居中,你应该这样做:
.child {
position: absolute;
top: 50%;
left: 50%;
width: 50px;
height: 50px;
margin-left:-25px;
margin-top:-25px;
border: 1px yellow solid;
}
请参阅更新的jsfiddle
答案 1 :(得分:2)
CSS中的垂直居中是PITA,尤其是当您还需要IE7(甚至是IE6)支持时。 There are many ways to do it,但每个都有一些缺点。您的方法对应于链接文章中的方法4,并且已知IE中的故障< 8。
对于具有固定宽度和高度的元素,更稳健的方法(文章中的方法2)包括将其定位在top: 50%; left: 50%
并从顶部和左边距减去一半宽度。这适用于所有浏览器。 Here, have a fiddle
答案 2 :(得分:2)
我个人去“破解”是因为使用left和top放置元素,然后使用负边距正确移动
position: absolute;
top: 50%;
left: 50%;
width: 50px;
height: 50px;
margin: -25px 0 0 -25px; //move it left by half the width