更改位置时的Safari渲染问题:固定到位置:相对

时间:2014-03-27 16:07:02

标签: javascript jquery html css safari

我正在开发,只是为了好玩,一个jQuery插件,显示来自"堆栈的元素"当你向下滚动页面时。

Github repo在这里 - https://github.com/JayBizzle/Reveal

演示在这里 - http://jaybizzle.github.io/Reveal/

Chrome中的一切都很棒,但在Safari中测试时,我发现了一些奇怪的渲染问题。

如果您在Safari中观看演示并快速向下滚动,您会发现彩色DIV之间出现白色间隙。

更奇怪的是,如果您随后检查其中一个不在位置的DIV,检查员会将DIV突出显示在正确的位置。此外,如果您在检查器中更改其中一个元素CSS属性(如添加边框),则会重新绘制页面,并且元素将显示在正确的位置。

任何人都有任何想法,如果这是一个Safari的bug,或者我能用一些鲜为人知的CSS克服的东西?

1 个答案:

答案 0 :(得分:1)

我有类似的问题。 我的解决方法是首先给位置静态,然后稍微有点延迟。

    $(elem).css('position', 'static');
    setTimeout(function() {
      $(elem).css('position', 'relative');
    }, 1);