我遇到的问题是div没有与页面顶部对接。我尝试通过添加
来解决这个问题position:absolute;
top:0px;
它把它放在我想要的顶部,但它也走到了页面的左边。我希望它在页面中居,如果我使用自动左右边距而没有位置:绝对。
有没有办法获得自动边距并将其定位在页面的最顶部?
答案 0 :(得分:1)
我认为你必须将左右(或者可能只剩下)设置为50%
left:50%;
right:50%;
答案 1 :(得分:0)
不是你的问题的答案,但这听起来像一个hacky解决方案。不要使用position: absolute
来解决间距问题 - 它有太多其他后果,其中一些我们甚至看不到在较小的分辨率等等上变得明显。
更好地使用Firebug或类似工具来找出导致空间的原因,并找出原因。这很烦人,但真的值得花时间。
如果你真的需要这样做,一个解决方案可能是将position: absolute
放在跨越整个屏幕的div
(width: 100%
)并将真正的div放在那里 - 大概有正确的边距。 (我现在无法建立一个测试用例,所以我不能100%保证这会起作用。)
答案 2 :(得分:0)
position: absolute
从正常流量计算中取出元素,因此我不确定您是否可以使用自动边距。
无论哪种方式,对于类似的事情来说,这通常是一个坏主意。我的建议是调查为什么它没有与正常定位相对应的页面顶部。
我从来没有遇到过这个问题,因为我在所有样式表中做的第一件事就是将所有边距和填充重置为零,然后明确重新定义它们。
在您的情况下,这可能就足够了:
html, body {
margin-top: 0;
padding-top: 0;
}