Transforms
Transform Origin
Utilities for specifying the origin for an element’s transformations.
Quick reference
Class | Properties |
---|---|
origin-center | transform-origin: center; |
origin-top | transform-origin: top; |
origin-top-right | transform-origin: top right; |
origin-right | transform-origin: right; |
origin-bottom-right | transform-origin: bottom right; |
origin-bottom | transform-origin: bottom; |
origin-bottom-left | transform-origin: bottom left; |
origin-left | transform-origin: left; |
origin-top-left | transform-origin: top left; |
Basic usage
Changing the transform origin
Specify an element’s transform origin using the origin-{keyword}
utilities.
<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.
tailwind.config.js
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.