1. 交互性
  2. 将会改变

Quick reference

Class
Properties
will-change-autowill-change: auto;
will-change-scrollwill-change: scroll-position;
will-change-contentswill-change: contents;
will-change-transformwill-change: transform;

基础用法

优化将会改变

使用 will-change-scrollwill-change-contentswill-change-transform 来优化预计在不久的将来会发生变化的元素,通过指示浏览器在实际开始之前准备必要的动画。

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

建议您在元素发生变化之前应用这些实用程序,然后在使用 will-change-auto 完成后立即将其删除。

will-change 属性旨在作为处理已知性能问题的最后手段。避免过多使用这些实用程序,或仅仅为了预期性能问题而使用这些实用程序,因为这实际上可能会导致页面性能下降。


条件应用

悬停、聚焦和其他状态

Tailwind 允许您使用变体修饰符有条件地在不同状态下应用实用程序类。例如,使用 hover:will-change-scroll 来仅 在 hover应用 will-change-scroll.

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

详细了解, 请参考 Hover, Focus, & Other States 文档.

断点和媒体查询

您还可以使用变体修饰符来定位媒体查询,例如响应式断点、暗模式、首选减少运动等。例如, 使用 md:will-change-scroll 来应用 will-change-scroll 程序,适用于中等屏幕尺寸及以上。

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

进一步了解,请参考 响应式设计, 暗黑模式 媒体查询.


使用自定义值

定制你的主题

默认情况下,Tailwind 提供四个 will-change 实用程序。您可以通过编辑 tailwind.config.js 文件中的 theme.willChangetheme.extend.willChange 来自定义这些值。

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      willChange: {
        'left-top': 'left, top',
      }
    }
  }
}

theme customization 文档中了解有关自定义默认主题的更多信息。

任意值

如果您需要使用一次性的 will-change值,而该值没有必要包含在主题中,请使用方括号动态生成属性,使用任意值。

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

进一步了解,请参考 任意值 文档.