阅读(2889) (0)

Tailwind CSS 过渡属性

2022-07-25 17:31:50 更新

过渡属性

用于控制 CSS 过渡属性的功能类。

Class
Properties
transition-none transition-property: none;
transition-all transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition transition-property: background-color, border-color, 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-colors transition-property: background-color, border-color, color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-opacity transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-shadow transition-property: box-shadow; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;
transition-transform transition-property: transform; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms;

使用

使用 ​transition-{properties}​ 功能来指定哪些属性在变化时应该过渡。


<button class="transition duration-500 ease-in-out bg-blue-600 hover:bg-red-600 transform hover:-translate-y-1 hover:scale-110 ...">
  Hover me
</button>

Prefers-reduced-motion

您可以使用 ​motion-safe​ 和 ​motion-reduce​ 变体有条件地应用动画和过渡。

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

这些变体默认情况下是不启用的,但是您可以在您的 ​tailwind.config.js​ 文件的 ​variants ​部分启用它们。

// tailwind.config.js
module.exports = {
  // ...
  variants: {
    transitionProperty: ['responsive', 'motion-safe', 'motion-reduce']
  }
}

响应式

要改变元素在特定断点处的过渡属性,请在任何现有的过渡属性功能中添加 ​{screen}:​ 前缀。例如,使用 ​md:transition-colors​ 来应用 ​transition-colors​ 功能,只适用于中等以上的屏幕尺寸。

关于 Tailwind 的响应式设计功能的更多信息,请查看响应式设计文档。

自定义

属性值

默认情况下,Tailwind 为七种常见的属性组合提供转换属性实用程序。您可以通过自定义 Tailwind 主题配置的 ​transitionProperty ​部分来更改、添加或删除这些。

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

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

变体

默认情况下, 针对 transition-property 功能类,只生成 responsive 变体。

您可以通过修改您的 ​tailwind.config.js​ 文件中的 ​variants ​部分中的 ​transitionProperty ​属性来控制为 transition-property 功能生成哪些变体。

例如,这个配置也将生成 hover and focus 变体:

  // tailwind.config.js
  module.exports = {
    variants: {
      extend: {
        // ...
       transitionProperty: ['hover', 'focus'],
      }
    }
  }

禁用

如果您不打算在您的项目中使用 transition-property 功能,您可以通过在配置文件的 ​corePlugins ​部分将 ​transitionProperty ​属性设置为 ​false ​来完全禁用它们:

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
     transitionProperty: false,
    }
  }