快速参考

属性
transition-nonetransition-property: none;
transition-alltransition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transitiontransition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-colorstransition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-opacitytransition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-shadowtransition-property: box-shadow; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-transformtransition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;

基本用法

控制过渡属性

使用 transition-{properties} 工具指定属性在改变时应该如何过渡。

将鼠标悬停在按钮上,查看预期行为。

<button class="transition ease-in-out delay-150 bg-blue-500 hover:-translate-y-1 hover:scale-110 hover:bg-indigo-500 duration-300 ...">
  Save Changes
</button>

偏好减少运动

对于用户指定了他们偏好减少运动的情况,您可以使用 motion-safemotion-reduce 变体有条件地应用动画和过渡。

<button class="transition transform hover:-translate-y-1 motion-reduce:transition-none motion-reduce:hover:transform-none ...">
  Hover me
</button>

条件应用

悬停、聚焦和其他状态

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

<div class="hover:transition-all">
  <!-- ... -->
</div>

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

断点和媒体查询

您还可以使用变体修饰符来定位媒体查询,例如响应式断点、暗黑模式、 prefers-reduced-motion 等等。例如,使用 md:transition-all 仅在中等屏幕尺寸及以上时应用 transition-all 实用程序。

<div class="md:transition-all">
  <!-- ... -->
</div>

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


使用自定义值

自定义您的主题

默认情况下,Tailwind 为七种常见的属性组合提供 `transition-property` 实用程序。您可以通过编辑 `tailwind.config.js` 文件中的 `theme.transitionProperty` 或 `theme.extend.transitionProperty` 来自定义这些值。

tailwind.config.js
module.exports = {
  theme: {
    extend: {
      transitionProperty: {
        'height': 'height',
        'spacing': 'margin, padding',
      }
    }
  }
}

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

任意值

如果您需要使用一次性的 `transition-property` 值,该值不适合包含在您的主题中,请使用方括号使用任何任意值动态生成属性。

<div class="transition-[height]">
  <!-- ... -->
</div>

任意值 文档中了解有关任意值支持的更多信息。