2013-02-28 69 views
-1

我有問題,保證金:汽車 - 垂直居中 #something { width: 97%; height: 300px; border: 1px solid red; position: absolute; top: 0; bottom: 0; margin: auto; }保證金自動變爲負值

這項工作在每一個現代瀏覽器 - 網頁時(視)是高於300像素,它的垂直居中,但是,當該頁面(視口)是低於300px停下來,除了在Firefox中的其他地方工作...在Firefox中運行它很好(也許它是壞的functionitiy,但其邏輯功能)在其他瀏覽器的頂部居中元素消失在視口的頂部。

http://jsfiddle.net/LhHed/2/這裏是上帝的例子 - 當你調整結果窗口,在Firefox中工作得很好,在其他瀏覽器中沒有。是否可以修復它?或者它的Firefox功能不好?

編輯:活生生的例子http://dev8.newlogic.cz

+0

我很困惑,你在這裏問什麼?檢查FireFox/chrome和IE,它看起來在每個方面都有相同的表現。你能澄清你的問題嗎? – Liam 2013-02-28 11:09:51

+0

http://dev8.newlogic.cz/這裏是現場實例...當您調整瀏覽器窗口的大小時,瀏覽器的頂部是在瀏覽器的頂部,但是在負邊緣... – Piklis 2013-02-28 11:12:26

回答

0

我刪除了瀏覽器中的問題,當我使用position: relative到body元素。現在它在Firefox和其他瀏覽器中工作。現場示例http://dev8.newlogic.cz

1

從我所收集,你想要的間隔物的頂部在頁面的頂部顯示。目前沒有發生這種情況,因爲您將位置設置爲top:0; bottom:0;top屬性與bottom屬性衝突,最終將分隔符置於頁面底部。簡單地移除bottom屬性不允許出現在檢視區外的元件的頂部:

#something { 
    width: 97%; 
    height: 300px; 
    border: 1px solid red; 
    position: absolute; 
    top: 0; 
    margin: auto; 
} 

JSFiddle

+0

絕對不是......它工作正常,因爲頂部和底部被設置爲0並且將邊緣設置爲自動,使得#something以居中爲中心...參見http://dev8.newlogic.cz用於現場示例 – Piklis 2013-02-28 11:39:35

+0

爲了垂直居中,您只需要'margin:0 auto; '你不需要絕對的定位。你的問題很難理解你實際想要發生的事情。 – 2013-02-28 11:41:21

+0

是的,我的英語不好...我不需要保證金:0汽車;因爲它是垂直居中,還是我誤解了雙方? – Piklis 2013-02-28 11:44:43