Skip to content

Transforms

Typewriting Class provides utilities for all CSS transform operations.

Scale

import { cx, scale, scaleX, scaleY } from 'typewritingclass'
cx(scale(110)) // transform: scale(1.1)
cx(scale(75)) // transform: scale(0.75)
cx(scaleX(150)) // transform: scaleX(1.5)
cx(scaleY(50)) // transform: scaleY(0.5)

Numeric values are divided by 100 (e.g., 110 becomes 1.1). Pass a string for raw values: scale('1.5').

Rotate

import { cx, rotate } from 'typewritingclass'
cx(rotate('45deg')) // transform: rotate(45deg)
cx(rotate('-12deg')) // transform: rotate(-12deg)
cx(rotate('0.25turn')) // transform: rotate(0.25turn)

Translate

import { cx, translateX, translateY } from 'typewritingclass'
cx(translateX('1rem')) // transform: translateX(1rem)
cx(translateY('-50%')) // transform: translateY(-50%)
cx(translateX('100%')) // transform: translateX(100%)

Skew

import { cx, skewX, skewY } from 'typewritingclass'
cx(skewX('6deg')) // transform: skewX(6deg)
cx(skewY('-3deg')) // transform: skewY(-3deg)

Transform origin

import { cx, transformOrigin } from 'typewritingclass'
cx(transformOrigin('center')) // transform-origin: center
cx(transformOrigin('top left')) // transform-origin: top left
cx(transformOrigin('bottom right')) // transform-origin: bottom right

Combining with transitions

Transforms pair naturally with transition utilities for hover effects:

import { cx, scale, transition, duration, when, hover } from 'typewritingclass'
const zoomCard = cx(
transition(),
duration(200),
when(hover)(scale(105)),
)

Available transform utilities

UtilityCSS PropertyExample
scaletransformscale(110)scale(1.1)
scaleXtransformscaleX(150)scaleX(1.5)
scaleYtransformscaleY(50)scaleY(0.5)
rotatetransformrotate('45deg')
translateXtransformtranslateX('1rem')
translateYtransformtranslateY('-50%')
skewXtransformskewX('6deg')
skewYtransformskewY('-3deg')
transformOrigintransform-origintransformOrigin('center')