【问题标题】:position: fixed , has a very bad performance on mobile/tablet devices when scrolling位置:固定,在移动/平板设备上滚动时性能很差
【发布时间】:2013-07-01 17:30:20
【问题描述】:

我在我的网站中使用position: fixed 来修复视口中的导航栏,就像 facebook 的蓝条一样,但是当我们在移动/平板设备(处理能力低)上尝试它时,这个固定栏对性能造成非常糟糕的影响,从而在滚动时造成非常糟糕的用户体验,

我们使用了一篇非常好的文章来增强滚动效果,他们确实做到了,比如:

在这些文章的基础上进行了大量修改后,我们达到了position: fixed是唯一留给我们增强的调查的地步。

当我们将站点更改为position: absolute 时,该站点的滚动非常流畅。但是修复它后,滚动有一个非常糟糕的缺点,它可以在以某种方式滚动时将 safari 浏览器挂在 ipad 上,您知道如何在平板电脑上使用position: fixed 并具有良好的性能/移动设备?

【问题讨论】:

    标签: css performance mobile scroll rasterizing


    【解决方案1】:

    如果您的“平板电脑/移动设备”有性能问题,有一个 Webkit 引擎,您可能可以在这里找到答案:Chrome slow scrolling with fixed position elements

    快速回答:尝试在固定块上添加-webkit-transform: translateZ(0);

    【讨论】:

    • 如果你有一个页脚问题(位置:固定)“跟随你”使用 -webkit-transform: translateZ(0);解决了它(至少在 Android
    【解决方案2】:

    为了在移动设备中获得流畅的滚动,在具有“位置:绝对”的情况下,

    你只需要在Div中添加css属性

    -webkit-overflow-scrolling: touch;

    【讨论】:

    • 这似乎确实提高了很多性能,尽管 position:fixed 的子元素在移动 safari 中的性能似乎很差
    • 这解决了我需要一个带有height: 100%position: fixed 的div 的问题。没有那个 CSS 滚动是有问题的,有了它我就很好了。
    【解决方案3】:

    现在你可以使用“位置:粘性”

    【讨论】:

    • 两者之间的性能差异是什么?
    • 粘性最好...动作完美无瑕...在移动视图上查看此表:genevo.com/cz/srovnani-detektoru ...如果您水平滚动,它将粘在左侧列
    猜你喜欢
    • 2015-10-19
    • 2012-02-03
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多