Translatev1.2.0+

Utilities for translating elements with transform.

Class reference

Class
Properties
.translate-x-0--transform-translate-x: 0;
.translate-x-1--transform-translate-x: 0.25rem;
.translate-x-2--transform-translate-x: 0.5rem;
.translate-x-3--transform-translate-x: 0.75rem;
.translate-x-4--transform-translate-x: 1rem;
.translate-x-5--transform-translate-x: 1.25rem;
.translate-x-6--transform-translate-x: 1.5rem;
.translate-x-8--transform-translate-x: 2rem;
.translate-x-10--transform-translate-x: 2.5rem;
.translate-x-12--transform-translate-x: 3rem;
.translate-x-16--transform-translate-x: 4rem;
.translate-x-20--transform-translate-x: 5rem;
.translate-x-24--transform-translate-x: 6rem;
.translate-x-32--transform-translate-x: 8rem;
.translate-x-40--transform-translate-x: 10rem;
.translate-x-48--transform-translate-x: 12rem;
.translate-x-56--transform-translate-x: 14rem;
.translate-x-64--transform-translate-x: 16rem;
.translate-x-px--transform-translate-x: 1px;
.-translate-x-1--transform-translate-x: -0.25rem;
.-translate-x-2--transform-translate-x: -0.5rem;
.-translate-x-3--transform-translate-x: -0.75rem;
.-translate-x-4--transform-translate-x: -1rem;
.-translate-x-5--transform-translate-x: -1.25rem;
.-translate-x-6--transform-translate-x: -1.5rem;
.-translate-x-8--transform-translate-x: -2rem;
.-translate-x-10--transform-translate-x: -2.5rem;
.-translate-x-12--transform-translate-x: -3rem;
.-translate-x-16--transform-translate-x: -4rem;
.-translate-x-20--transform-translate-x: -5rem;
.-translate-x-24--transform-translate-x: -6rem;
.-translate-x-32--transform-translate-x: -8rem;
.-translate-x-40--transform-translate-x: -10rem;
.-translate-x-48--transform-translate-x: -12rem;
.-translate-x-56--transform-translate-x: -14rem;
.-translate-x-64--transform-translate-x: -16rem;
.-translate-x-px--transform-translate-x: -1px;
.-translate-x-full--transform-translate-x: -100%;
.-translate-x-1/2--transform-translate-x: -50%;
.translate-x-1/2--transform-translate-x: 50%;
.translate-x-full--transform-translate-x: 100%;
.translate-y-0--transform-translate-y: 0;
.translate-y-1--transform-translate-y: 0.25rem;
.translate-y-2--transform-translate-y: 0.5rem;
.translate-y-3--transform-translate-y: 0.75rem;
.translate-y-4--transform-translate-y: 1rem;
.translate-y-5--transform-translate-y: 1.25rem;
.translate-y-6--transform-translate-y: 1.5rem;
.translate-y-8--transform-translate-y: 2rem;
.translate-y-10--transform-translate-y: 2.5rem;
.translate-y-12--transform-translate-y: 3rem;
.translate-y-16--transform-translate-y: 4rem;
.translate-y-20--transform-translate-y: 5rem;
.translate-y-24--transform-translate-y: 6rem;
.translate-y-32--transform-translate-y: 8rem;
.translate-y-40--transform-translate-y: 10rem;
.translate-y-48--transform-translate-y: 12rem;
.translate-y-56--transform-translate-y: 14rem;
.translate-y-64--transform-translate-y: 16rem;
.translate-y-px--transform-translate-y: 1px;
.-translate-y-1--transform-translate-y: -0.25rem;
.-translate-y-2--transform-translate-y: -0.5rem;
.-translate-y-3--transform-translate-y: -0.75rem;
.-translate-y-4--transform-translate-y: -1rem;
.-translate-y-5--transform-translate-y: -1.25rem;
.-translate-y-6--transform-translate-y: -1.5rem;
.-translate-y-8--transform-translate-y: -2rem;
.-translate-y-10--transform-translate-y: -2.5rem;
.-translate-y-12--transform-translate-y: -3rem;
.-translate-y-16--transform-translate-y: -4rem;
.-translate-y-20--transform-translate-y: -5rem;
.-translate-y-24--transform-translate-y: -6rem;
.-translate-y-32--transform-translate-y: -8rem;
.-translate-y-40--transform-translate-y: -10rem;
.-translate-y-48--transform-translate-y: -12rem;
.-translate-y-56--transform-translate-y: -14rem;
.-translate-y-64--transform-translate-y: -16rem;
.-translate-y-px--transform-translate-y: -1px;
.-translate-y-full--transform-translate-y: -100%;
.-translate-y-1/2--transform-translate-y: -50%;
.translate-y-1/2--transform-translate-y: 50%;
.translate-y-full--transform-translate-y: 100%;

Usage

Translate an element by first enabling transforms with the transform utility, then specifying the translate direction and distance using the translate-x-{amount} and translate-y-{amount} utilities.

<img class="transform translate-y-6 ...">
<img class="transform -translate-y-6 ...">
<img class="transform translate-y-0 ...">

Note that because Tailwind implements transforms using CSS custom properties, the transform utilities are not supported in older browsers like IE11. If you need transforms for your project and need to support older browsers, add your own utilities or other custom CSS.

Responsive

To control the translation of an element at a specific breakpoint, add a {screen}: prefix to any existing translate utility. For example, use md:translate-x-8 to apply the translate-x-8 utility at only medium screen sizes and above.

For more information about Tailwind's responsive design features, check out the Responsive Design documentation.

<img class="transform translate-y-6 sm:-translate-y-6 md:translate-y-2 lg:-translate-y-8 xl:translate-y-0...">

Customizing

Translate scale

By default Tailwind provides fixed value translate utilities that match our spacing scale, as well as 50% and 100% variations for translating relative to the element's size.

You can customize the global spacing scale in the theme.spacing or theme.extend.spacing sections of your tailwind.config.js file:

  // tailwind.config.js
  module.exports = {
    theme: {
      extend: {
        spacing: {
+         '72': '18rem',
+         '84': '21rem',
+         '96': '24rem',
        }
      }
    }
  }

To customize the translate scale separately, use the theme.translate section of your tailwind.config.js file.

  // tailwind.config.js
  module.exports = {
    theme: {
      extend: {
        translate: {
+         '1/7': '14.2857143%',
+         '2/7': '28.5714286%',
+         '3/7': '42.8571429%',
+         '4/7': '57.1428571%',
+         '5/7': '71.4285714%',
+         '6/7': '85.7142857%',
        }
      }
    }
  }

Learn more about customizing the default theme in the theme customization documentation.

Responsive and pseudo-class variants

By default, only responsive, hover and focus variants are generated for translate utilities.

You can control which variants are generated for the translate utilities by modifying the translate property in the variants section of your tailwind.config.js file.

For example, this config will also generate active and group-hover variants:

  // tailwind.config.js
  module.exports = {
    variants: {
      // ...
-     translate: ['responsive', 'hover', 'focus'],
+     translate: ['responsive', 'hover', 'focus', 'active', 'group-hover'],
    }
  }

Disabling

If you don't plan to use the translate utilities in your project, you can disable them entirely by setting the translate property to false in the corePlugins section of your config file:

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

Tailwind UI is now in early access!