Skip to content

Will Change 将会改变

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

ClassProperties

基本用法

根据变化进行优化

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

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

建议在元素发生变化之前应用这些实用工具,然后在其使用完成后立即移除 will-change-auto

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

有条件地应用

悬停、焦点和其他状态

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

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

有关所有可用状态修饰符的完整列表,请查看悬停、焦点和其他状态文档。

断点和媒体查询

您还可以使用变体修饰符来针对响应式断点、深色模式、偏好减少动作等媒体查询进行定位。例如,使用 md:will-change-scroll 仅在中等屏幕尺寸及以上应用 will-change-scroll 实用程序。

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

要了解更多信息,请查看有关响应式设计深色模式其他媒体查询修饰符的文档。

使用自定义值

定制您的主题

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

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

有关自定义默认主题的更多信息,请参阅主题自定义文档。

任意值

如果您需要使用一个与主题无关的 will-change 值,可以使用方括号来根据任意值动态生成属性。

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

有关任意值支持的更多信息,请参阅任意值文档。

Released under the MIT License.