css - 如何在将元素添加到页面时运行 CSS 动画?

标签 css angular

我注意到,当 Angular 通过添加大量元素来更新页面时,甚至 CSS 动画也会停止运行。我在这里创建了一个 stackblitz https://stackblitz.com/edit/angular-fefvpa突出问题。当您点击“添加元素”按钮时,红色方 block 会停止移动大约半秒钟。我该怎么做才能避免这种情况?

最佳答案

我能想到的一个可能对您有帮助的解决方案是在动画中使用 transform: translateX 而不是 left

你的动画看起来像

@keyframes mymove {
  from {transform: translateX(0)}
  to {transform: translateX(400px)}
}

您还可以将 transform:translateZ(0) 添加到 #box 本身

动画将使用较少的“GPU”,通过添加 transform:translateZ(0),您还将使浏览器为该动画使用更多的 GPU。所以它可能会运行得更流畅。

我在我的电脑上测试过,添加元素时它不再“卡住”。

关于css - 如何在将元素添加到页面时运行 CSS 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56649679/

相关文章:

css - 如何仅使用 CSS 制作背景模糊渐变?

html - Bootstrap-rails,如何改变车身尺寸?

angular - TypeScript,Angular如何将列表中对象的属性转换为以逗号分隔的字符串

angular @Input 和数据插值在 Web 组件中不起作用

html - 在 ionic 中设计定制的拨动开关

css - iframe 和隐藏元素

javascript - 在网格中创建悬停效果时遇到问题

angular - firebase.auth.Auth.signInWithCredential 已弃用。请改用 firebase.auth.Auth.signInAndRetrieveDataWithCredential

javascript - Angular 2中同一页面的多个路由名称

angular - 创建后立即关注输入