2010-09-04 44 views
2

我遇到了一個問題,即div不在頁面頂部。我試圖通過加入來解決這個問題當你有位置時絕對可以有自動邊距嗎?

position:absolute; 
top:0px; 

它把它放在頂部,就像我想要的,但它也走到了頁面的左邊。我希望它能夠在頁面中居中顯示,如果我使用自動左右頁邊距而不是位置:絕對。

有什麼辦法可以讓自動頁邊空白並將其放置在頁面的最頂端?

回答

1

我認爲你必須左右(或者也許只有左)設定爲50%

left:50%; 
right:50%; 
0

不回答你的問題,但是這聽起來像一個哈克的解決方案。不要使用position: absolute來解決間距問題 - 它有太多的其他後果,其中一些我們甚至看不到在較小的分辨率等情況下變得明顯。

更好地使用Firebug或類似的工具來找出造成空間的原因並解決原因。這很煩人,但真的很值得。

如果你真的需要做到這一點,一個解決辦法是把position: absolutediv跨越整個屏幕(width: 100%)跨越,把真正的div在那裏 - 大概有正確的利潤率。 (我現在無法構建測試用例,因此我無法保證100%這個工作正常。)

0

position: absolute將元素從正常流量計算中取出,所以我不確定您是否可以有自動餘量。

無論哪種方式,對於類似的東西通常是一個壞主意。我的建議是研究爲什麼它不是用普通的定位來抵抗頁面的頂部。

我從來沒有遇到過這個問題,因爲我在所有樣式表中做的第一件事是將所有邊距和填充重置爲零,然後明確重新定義它們。

在你的情況,這可能是不夠的:

html, body { 
    margin-top: 0; 
    padding-top: 0; 
} 
相關問題