1. 交互
  2. 即将改变

交互

will-change

用于优化预计将要变化的元素的即将到来的动画的工具类。

ClassStyles
will-change-auto
will-change: auto;
will-change-scroll
will-change: scroll-position;
will-change-contents
will-change: contents;
will-change-transform
will-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 工具类来优化一个预计将在不久的将来发生变化的元素,通过指示浏览器在动画实际开始之前准备必要的动画:

<div class="overflow-auto will-change-scroll">
<!-- ... -->
</div>

建议在元素变化之前立即应用这些工具类,然后在动画完成后不久使用 will-change-auto 将其移除。

will-change 属性旨在作为处理已知性能问题的最后手段来使用。避免过多使用这些工具类,或仅仅因为预期的性能问题而使用它们,因为这实际上可能导致页面性能降低。

使用自定义值

Use the will-change-[<value>] syntax to set the will-change 属性 based on a completely custom value:

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

For CSS variables, you can also use the will-change-(<custom-property>) syntax:

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

This is just a shorthand for will-change-[var(<custom-property>)] that adds the var() function for you automatically.