2010-09-04 45 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; 
} 
相关问题