
自从 Firefox 3.0 发布了第一个 Beta 版本之后,我就开始用它来测试我开发的各个网站在上面的表现了。其中, V2EX 在 Firefox 3.0 上出现了一个很奇怪的问题:在页面加载完成之后,页面的 main column 和背景图片无法对齐,会出现一条宽度 10px 左右的位移。
周日下午和 Leechael 一起花时间看了一下这个问题,因为 Firefox 3.0 发布在即,而我们又都是苛刻的人,当然不希望页面上有任何期望之外的事情发生。
V2EX 的背景图是一张从高处拍摄的城市景色,使用 background: #000 url("/img/bg_city.jpg") no-repeat fixed 50% 0; 方式在页面上定位。当 viewport 的高度发生变化导致滚动条出现和消失的时候,Firefox 3.0 Beta(或者更确切地说,这个版本的 Gecko)并不会动态更新 background-attachment: fixed 情况时 background-position 和 viewport 的对齐。
这有可能是这个版本的 Gecko 的一个 bug,同样的不符合期待的行为在 Firefox 2 及其他主流浏览器上是不存在的。
所以最后我们针对这个情况,在 V2EX 中,如果检测到用户在使用 Firefox 3.0 Beta 访问,那么一句特殊的 CSS override 就会生效。这个方式不够环保,期望 Firefox 3.0 正式版中能够解决这个问题吧。我在 Mozilla 的 Bugzilla 里搜索了一下,似乎关于 CSS background 属性的问题不少。 Technorati Tags: v2ex , babel , css , background [ read more on livid.cn ]