css - 停止CSS动画后滚动页面时如何防止工件出现在Webkit中

标签 css webkit css-animations mobile-webkit

在某些情况下,我必须停止 CSS 关键帧动画。如果我之后滚动页面,我往往会在屏幕上收到伪影。它们出现在我停止动画之前停止的 div 所在的位置。有时我会得到这些工件从原始位置到先前动画 div 的新位置的“踪迹”。

在桌面版 Chrome 中,通常我只会看到一个工件(在工件上重绘会删除它),但在 iOS Safari 中,我会看到它们的困惑轨迹。

我尝试使用不同的方法停止 CSS 动画,但我总是得到相同的结果。我向 div 添加了一个类,它定义了一个新位置(顶部/左侧,div 本身位于相对位置),以及一个停止动画的属性,我试过:

  1. 将动画持续时间设置为最短。
  2. 将 -webkit-animation 设置为“无”
  3. 使用 -webkit-animation-play-state 暂停动画

这些都没有修复工件。

最佳答案

将此添加到您调用动画的 css 中:

-webkit-transform: translate3d(0,0,0);

它强制硬件加速。

关于css - 停止CSS动画后滚动页面时如何防止工件出现在Webkit中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916606/

相关文章:

css - 什么是 CSS 创作框架?

css nav ul 不工作

css - 移动浏览器列 View 问题 Material 设计(css)

javascript - 启动/停止 webkit 动画 onclick 而不是 :hover

compass-sass - 在 Sass 中包含使用变量作为名称的 mixins

css - 围绕 X 轴上的圆进行 3D 变换

java - 如何在打印时应用 CSS 样式?

swift - 错误 : Cannot load module 'webkit' as 'WebKit'

css - 带 CSS 3 过渡的滑动门按钮

c# - 引用 OpenWebKitSharp 在 C# 中使用 WebKit