Basic usage
Changing the transform origin
Specify an element’s transform origin using the origin-{keyword}
utilities.
origin-center
origin-top-left
origin-bottom
<img class="origin-center rotate-45 ...">
<img class="origin-top-left rotate-12 ...">
<img class="origin-bottom -rotate-12 ...">
Applying conditionally
Hover, focus, and other states
Tailwind lets you conditionally apply utility classes in different states using variant modifiers. For example, use hover:origin-top
to only apply the origin-top
utility on hover.
<div class="origin-center hover:origin-top">
<!-- ... -->
</div>
For a complete list of all available state modifiers, check out the Hover, Focus, & Other States documentation.
Breakpoints and media queries
You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:origin-top
to apply the origin-top
utility at only medium screen sizes and above.
<div class="origin-center md:origin-top">
<!-- ... -->
</div>
To learn more, check out the documentation on Responsive Design, Dark Mode and other media query modifiers.
Using custom values
Customizing your theme
By default, Tailwind provides transform-origin
utilities for all of the built-in browser keyword options. You can customize these values by editing theme.transformOrigin
or theme.extend.transformOrigin
in your tailwind.config.js
file.
module.exports = { theme: { extend: { transformOrigin: { 'top-left-1/3-3/4': '33% 75%', } } }}
Learn more about customizing the default theme in the theme customization documentation.
Arbitrary values
If you need to use a one-off transform-origin
value that doesn’t make sense to include in your theme, use square brackets to generate a property on the fly using any arbitrary value.
<div class="origin-[33%_75%]">
<!-- ... -->
</div>
Learn more about arbitrary value support in the arbitrary values documentation.