Tailwind 05 Transitions & Animation

Huy2023年6月28日大约 3 分钟CSSCSS

在 Tailwind CSS 中,"transitions"和"animation"类名规律用于控制元素的过渡效果和动画效果。

基本规律

Transitions 过渡

ClassProperties
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;

自定义其它过渡属性:

<div class="transition-[height]">
  <!-- 意为  transition-property: height;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 150ms; -->
</div>

Transition Duration 持续时间

格式为 duration-{amount}​ 来控制元素的过渡持续时间。

ClassProperties
duration-0transition-duration: 0s;
duration-75transition-duration: 75ms;
duration-100transition-duration: 100ms;
duration-150transition-duration: 150ms;
duration-200transition-duration: 200ms;
duration-300transition-duration: 300ms;
duration-500transition-duration: 500ms;
duration-700transition-duration: 700ms;
duration-1000transition-duration: 1000ms;

自定义时间:

<div class="duration-[2000ms]">
  <!-- 意为 transition-duration: 2000ms;  -->
</div>

Transition Timing Function 过渡的时间函数

格式为: ease-{timing},用于控制元素的缓和曲线。

ClassProperties
ease-lineartransition-timing-function: linear;
ease-intransition-timing-function: cubic-bezier(0.4, 0, 1, 1);
ease-outtransition-timing-function: cubic-bezier(0, 0, 0.2, 1);
ease-in-outtransition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

Transition Delay 延迟时间

格式为: delay-{amount}​ ,用来来控制某个元素的过渡延迟属性。

ClassProperties
delay-0transition-delay: 0s;
delay-75transition-delay: 75ms;
delay-100transition-delay: 100ms;
delay-150transition-delay: 150ms;
delay-200transition-delay: 200ms;
delay-300transition-delay: 300ms;
delay-500transition-delay: 500ms;
delay-700transition-delay: 700ms;
delay-1000transition-delay: 1000ms;

自定义延迟时间:

<div class="delay-[2000ms]">
  <!-- 意为 transition-delay: 2000ms;  -->
</div>

Animation 动画

格式为:animate-<name>,用来表示动画类型。

原生默认的动画有四个:

自定义动画:

<div class="animate-[wiggle_1s_ease-in-out_infinite]">
  <!-- 意为 animation: wiggle 1s ease-in-out infinite; -->
</div>
Loading...