2013-02-08 40 views

回答

2

的示例CSS中的垂直居中是PITA,尤其是當您還希望支持IE7(甚至IE6)時。 There are many ways to do it,但每個都有一些缺點。您的方法對應於方法4中的鏈接的文章中,並且已知在IE < 8.

失靈對於具有固定的寬度和高度雖然元素,更魯棒的方法(方法2的文章中)由於它定位的top: 50%; left: 50%並從頂部和左邊距減去一半的寬度。這適用於所有瀏覽器。 Here, have a fiddle

+0

acctualy不是垂直居中的問題,但你是對的。我的問題是固定的負邊距,但是當我有非固定寬度/高度這是問題... – Piklis 2013-02-08 16:28:34

+0

@Piklis我不知道任何解決方案的非固定大小的元素與體面的IE支持。無論您是修復大小還是放棄IE支持。 – 2013-02-08 16:36:51

+0

或者,也許有點jQuery代碼...計數寬度/高度和重新鍵入邊距... – Piklis 2013-02-08 22:32:41

3

如果你想中心絕對股利,在它的父母,你應該做的:

.child { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    width: 50px; 
    height: 50px; 
    margin-left:-25px; 
    margin-top:-25px; 
    border: 1px yellow solid; 
} 

看到更新jsfiddle

2

我個人轉到「黑客」這是使用左,頂部放置元素,然後將它正確使用負利潤率

position: absolute; 
top: 50%; 
left: 50%; 
width: 50px; 
height: 50px; 
margin: -25px 0 0 -25px; //move it left by half the width