首页  >  文章  >  web前端  >  如何触发附加元素上的 CSS 转换?

如何触发附加元素上的 CSS 转换?

Linda Hamilton
Linda Hamilton原创
2024-11-04 04:20:29570浏览

How to Trigger CSS Transitions on Appended Elements?

在附加元素上触发 CSS 转换

为什么立即 CSS 动画会被忽略?

当元素附加到 DOM 时,浏览器经常批量回流以优化性能。但是,这可能会导致立即 CSS 转换被忽略,从而导致转换的最终状态立即呈现。

这些方法如何以及为何工作?

  • setTimeout: 延迟新一轮 JavaScript 中的类添加,确保渲染引擎有两个不同的样式值在过渡期间进行插值。
  • offsetWidth: 通过访问导致回流的属性强制回流,触发初始样式值计算。
  • focus: 触发同步回流,允许开始过渡

还有其他方法吗?

触发附加元素转换的其他方法包括:

  • requestAnimationFrame: 安排在下一个浏览器框架中添加类,将其与初始浏览器框架分开
  • MutationObserver: 观察 DOM 变化并相应地触发转换。

首选解决方案

首选解决方案是主观的,但许多开发人员喜欢访问offsetWidth 因为它强制同步回流并保证转换的执行。主流浏览器也支持此方法。

以上是如何触发附加元素上的 CSS 转换?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn