Utilities for controlling which CSS properties transition.
Use the transition-{properties} utilities to specify which properties should transition when they change.
<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>You can conditionally apply animations and transitions using the motion-safe and motion-reduce variants:
<button class="transition transform hover:-translate-y-1 motion-reduce:transition-none motion-reduce:transform-none ..."> Hover me </button>These variants are not enabled by default, but you can enable them in the variants section of your tailwind.config.js file:
// tailwind.config.js module.exports = { // ... variants: { transitionProperty: ['responsive', 'motion-safe', 'motion-reduce'] } }Learn more in the variants documentation.
To change which properties of an element transition at a specific breakpoint, add a {screen}: prefix to any existing transition-property utility. For example, use md:transition-colors to apply the transition-colors utility at only medium screen sizes and above.
For more information about Tailwind’s responsive design features, check out the Responsive Design documentation.
By default, Tailwind provides transition-property utilities for seven common property combinations. You change, add, or remove these by customizing the transitionProperty section of your Tailwind theme config.
// tailwind.config.js module.exports = { theme: { extend: { transitionProperty: { + 'height': 'height', + 'spacing': 'margin, padding', } } } }Learn more about customizing the default theme in the theme customization documentation.
By default, only responsive variants are generated for transition-property utilities.
You can control which variants are generated for the transition-property utilities by modifying the transitionProperty property in the variants section of your tailwind.config.js file.
For example, this config will also generate hover and focus variants:
// tailwind.config.js module.exports = { variants: { extend: { // ... + transitionProperty: ['hover', 'focus'], } } }If you don't plan to use the transition-property utilities in your project, you can disable them entirely by setting the transitionProperty property to false in the corePlugins section of your config file:
// tailwind.config.js module.exports = { corePlugins: { // ... + transitionProperty: false, } }