codecamp

Tailwind CSS 过渡属性

过渡属性

用于控制 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,
    }
  }


Tailwind CSS 表格布局
Tailwind CSS 过渡持续时间
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Tailwind CSS 基础样式

Tailwind CSS 可访问性

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }