css - 在 css 中创建视差固定背景图像的更有效方法

标签 css animation background-image css-animations

我们都知道 background-attachment: fixed 使背景固定并产生视差效果。然而,这是非常昂贵的,因为每次在页面上滚动时 DOM 都必须重新绘制。这会让您的网站感觉有点不稳定,尤其是当您的页面上有多个固定背景时。有谁知道更好的方法吗?

最佳答案

This pure CSS example使用绝对定位、transformperspective 来渲染视差效果。对于某些浏览器,scroll-behavior: smooth 也可以最小化一些可见的波动。

通过仅对可见元素设置动画并使用间隔更新元素位置,使用 JavaScript 可以更有效地呈现视差效果。 This article更详细地解释了其中一些技术。 requestAnimationFrame 函数特别允许浏览器在下一次可用重绘时执行滚动动画。

关于css - 在 css 中创建视差固定背景图像的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337955/

相关文章:

css - 页面容器没有高度

ios - 背景大小 : cover not working on iOS

css - 如何使用背景位置和 CSS Sprite 重复图像的一部分?

html - 在 POPUP WINDOW 的 MODAL 中,表格未显示全尺寸

css - 有人可以向我解释为什么我的导航栏的子菜单在同一行吗?

html - 在输入文本旁边放一个按钮 - Bootstrap

javascript - 动画窗口滚动

javascript - CSS 过渡 : trigger transitionend not firing when user has accessibility option "reduced motion" set

android - 检测适配器中的滚动方向(上/下)

css - 如何用渐变色填充部分背景?