技术 2026年4月5日 · 1 分钟阅读 · 大可
will-change 与 backdrop-filter 的正确使用
避免 will-change 滥用导致内存暴涨,以及在滚动列表里谨慎使用 backdrop-filter。
这两个属性都是「双刃剑」,用错比不用更糟。
will-change 不是越多越好
will-change: transform 会提示浏览器把元素常驻合成层。若给列表里每个卡片都加,会创建几十个图层,内存飙升、滚动卡顿。
原则:
- 只在确实会动画的元素上用;
- 动画结束可考虑移除(JS 动态加/去);
- 不要写在通配符或大量重复选择器上。
backdrop-filter 在滚动列表里的坑
玻璃模糊要在每一帧对背后内容重新采样,列表滚动时开销极大,常见表现是「页面滚不动」。
解决办法:
- 只对固定元素(如顶部导航)用
backdrop-filter; - 列表卡片改用半透明纯色背景代替模糊;
- 必要时用
contain: paint限制重绘范围。
#性能#will-change#backdrop-filter