我在IE7中定位和邊距問題。我有絕對位置和汽車保證金的div。IE7位置絕對具有邊緣自動錯誤
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
margin: auto;
這個div應該居中它的相對位置父。但在IE7中這是行不通的。這裏是工作代碼http://jsfiddle.net/3zwkA/
我在IE7中定位和邊距問題。我有絕對位置和汽車保證金的div。IE7位置絕對具有邊緣自動錯誤
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
margin: auto;
這個div應該居中它的相對位置父。但在IE7中這是行不通的。這裏是工作代碼http://jsfiddle.net/3zwkA/
的示例CSS中的垂直居中是PITA,尤其是當您還希望支持IE7(甚至IE6)時。 There are many ways to do it,但每個都有一些缺點。您的方法對應於方法4中的鏈接的文章中,並且已知在IE < 8.
失靈對於具有固定的寬度和高度雖然元素,更魯棒的方法(方法2的文章中)由於它定位的top: 50%; left: 50%
並從頂部和左邊距減去一半的寬度。這適用於所有瀏覽器。 Here, have a fiddle。
如果你想中心絕對股利,在它的父母,你應該做的:
.child {
position: absolute;
top: 50%;
left: 50%;
width: 50px;
height: 50px;
margin-left:-25px;
margin-top:-25px;
border: 1px yellow solid;
}
看到更新jsfiddle
我個人轉到「黑客」這是使用左,頂部放置元素,然後將它正確使用負利潤率
position: absolute;
top: 50%;
left: 50%;
width: 50px;
height: 50px;
margin: -25px 0 0 -25px; //move it left by half the width
acctualy不是垂直居中的問題,但你是對的。我的問題是固定的負邊距,但是當我有非固定寬度/高度這是問題... – Piklis 2013-02-08 16:28:34
@Piklis我不知道任何解決方案的非固定大小的元素與體面的IE支持。無論您是修復大小還是放棄IE支持。 – 2013-02-08 16:36:51
或者,也許有點jQuery代碼...計數寬度/高度和重新鍵入邊距... – Piklis 2013-02-08 22:32:41