1. 动画
  2. 过渡属性

Quick reference

Class
Properties
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-* 实用程序来指定哪些属性在发生变化时应该转换。

Hover the button to see the expected behaviour

<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 来仅 在 hover应用 transition-all.

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

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

断点和媒体查询

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

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

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


使用自定义值

定制你的主题

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

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

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

任意值

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

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

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