Skip to content
全部文档

will-change

用于优化预期会发生变化的元素即将发生的动画的工具类。

快速参考

属性
will-change-autowill-change: auto;
will-change-scrollwill-change: scroll-position;
will-change-contentswill-change: contents;
will-change-transformwill-change: transform;
will-change-<custom-property>will-change: var(<custom-property>);
will-change-[<value>]will-change: <value>;

示例

使用 will-change 进行优化

使用 will-change-scrollwill-change-contentswill-change-transform 工具类,通过指示浏览器在动画真正开始前做好准备,来优化预期即将发生变化的元素:

html
<!-- [!code classes:will-change-scroll] -->
<div class="overflow-auto will-change-scroll">
  <!-- ... -->
</div>

建议在元素即将变化前才应用这些工具类,并在变化结束后尽快用 will-change-auto 移除。

will-change 属性应作为处理已知性能问题的最后手段。避免过度使用这些工具类,或仅仅因为预估可能出现性能问题就使用,否则反而可能让页面更慢。

使用自定义值

使用 will-change-[<value>] 等工具类,根据完全自定义的值设置 will-change 属性:

html
<div class="will-change-[top,left] ...">
 <!-- ... -->
</div>

对于 CSS 变量,也可以使用 will-change-(<custom-property>) 语法:

html
<div class="will-change-(--my-properties) ...">
 <!-- ... -->
</div>

这只是 will-change-[var(<custom-property>)] 的简写,会自动为你加上 var() 函数。

文档译文以 MIT 协议授权;原文版权归 Tailwind Labs。湘ICP备2026005453号-2