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;

基本用法

¥Basic usage

优化将会改变

¥Optimizing with will change

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

¥Use will-change-scroll, will-change-contents and will-change-transform to optimize an element that’s expected to change in the near future by instructing the browser to prepare the necessary animation before it actually begins.

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

建议你在元素更改之前应用这些工具,然后在它使用完 will-change-auto 后不久将其删除。

¥It’s recommended that you apply these utilities just before an element changes, and then remove it shortly after it finishes using will-change-auto.

will-change 属性旨在作为处理已知性能问题时的最后手段。避免过多地使用这些工具,或者只是因为预期会出现性能问题,因为这实际上可能会导致页面性能下降。

¥The will-change property is intended to be used as a last resort when dealing with known performance problems. Avoid using these utilities too much, or simply in anticipation of performance issues, as it could actually cause the page to be less performant.


有条件地应用

悬停、聚焦和其他状态

Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:will-change-scroll to only apply the will-change-scroll utility on hover.

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

For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.

断点和媒体查询

You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:will-change-scroll to apply the will-change-scroll utility at only medium screen sizes and above.

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

To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.


使用自定义值

¥Using custom values

自定义主题

¥Customizing your theme

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

¥By default, Tailwind provides four will-change utilities. You can customize these values by editing theme.willChange or theme.extend.willChange in your tailwind.config.js file.

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

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

¥Learn more about customizing the default theme in the theme customization documentation.

任意值

¥Arbitrary values

If you need to use a one-off will-change value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.

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

Learn more about arbitrary value support in the arbitrary values documentation.