【发布时间】:2011-06-01 09:53:20
【问题描述】:
看看http://jsfiddle.net/7zb6P/1/
黄色框和背景图片都在滚动的div 中居中,尽管它们的中心略有不同。这似乎是由于背景居中于整个区域(包括滚动条),但 div 居中于内容区域(不包括滚动条) - 看到它在没有滚动条的情况下正确居中 http://jsfiddle.net/7zb6P/2/
有趣的是,IE7 会“正确”呈现它,但 IE8+ 和其他浏览器会按上述方式呈现它。
我玩过 background-origin(和 -webkit-background-origin),但似乎没有任何属性有任何效果。
关于如何解决这个问题的任何想法?
编辑:更多信息:链接的小提琴只是问题的一个最小示例,我的实际问题是整个站点居中(margin:0 auto)并且背景图像居中(使用background-position: center top)。该解决方案需要在我无法更改 HTML 的大量网站上运行,因此它需要是基于 CSS(或可能基于 Javascript)的解决方案。谢谢。
【问题讨论】:
-
谢谢 Max,遗憾的是这并没有解决问题。由于我链接的小提琴只是一个演示,真正的问题在于 body 元素以背景图像为中心时。我无法修改网站的 HTML(所以要放入包装器或其他任何东西),所以这个解决方案必须单独使用 CSS(或可能是 Javascript)。