CSS transform: rotate, scale, translate e skew

Playground per le trasformazioni CSS

CSS transform: rotate, scale, translate, skew, flip 3D | We.Inc

Muovi gli slider di rotate, scale, translate e skew e copia il CSS e le classi Tailwind. Copre l'ordine delle trasformazioni, transform-origin, il flip 3D delle card e le animazioni fluide.

Sposta, ruota, ridimensiona o inclina un elemento con la proprietà transform: transform: translate(20px, 0) rotate(15deg) scale(1.1) skewX(5deg). Le funzioni si applicano da destra a sinistra, quindi il loro ordine cambia il risultato. Le trasformazioni non spostano mai il layout circostante, e animarle costa poco perché il browser può affidare il lavoro al compositor.

Le quattro funzioni di trasformazione 2D

Usa gli slider per costruire una trasformazione e guarda la card reagire, poi passa dalla singola proprietà transform alle proprietà separate translate, rotate e scale. Più in basso trovi la demo dell'origine, un flip 3D da provare al passaggio del mouse, ricette di transizione e una nota sul perché le trasformazioni restano fluide mentre top e left scattano.

Domande frequenti

Perché l'ordine delle funzioni di trasformazione è importante?

Ogni funzione cambia il sistema di coordinate per quelle scritte prima di lei, quindi la lista viene di fatto applicata da destra a sinistra. translate(100px) rotate(45deg) ruota il box e poi lo fa scorrere dritto verso destra, mentre rotate(45deg) translate(100px) lo fa scorrere lungo l'asse ruotato, in diagonale.

Qual è la differenza tra transform: rotate() e la proprietà rotate?

Le proprietà rotate, scale e translate sono versioni autonome delle stesse funzioni. Si possono impostare e animare separatamente, quindi uno scale all'hover non cancella una rotazione impostata altrove. Il browser applica prima translate, poi rotate, poi scale e infine ciò che c'è in transform.

transform influisce sul layout o sugli altri elementi?

No. L'elemento mantiene il suo box originale nel layout e i vicini non si spostano. Cambia solo la sua immagine disegnata. Un elemento trasformato però crea un nuovo stacking context e diventa il containing block dei discendenti con position fixed, il che può sorprenderti con i modali.

Come capovolgo un elemento in orizzontale?

Usa transform: scaleX(-1) o la proprietà scale con scale: -1 1. Riflette l'elemento attorno alla sua origine, che per impostazione predefinita è il centro. Per un flip 3D che mostra il retro, ruota attorno all'asse Y dentro un genitore con perspective.

Perché il mio testo trasformato è sfocato?

Le traslazioni frazionarie e alcuni valori di scale collocano i glifi tra un pixel e l'altro, il che li ammorbidisce, soprattutto durante un'animazione. Arrotondare i valori di translate a pixel interi e scalare verso la dimensione finale invece di ingrandire da una più piccola di solito rende il risultato più nitido.

Leggere una lista di trasformazioni

Perché le trasformazioni si animano in modo fluido

Il 3D in un paragrafo

Tutte le funzioni di trasformazione

Funzioni di trasformazione 2D e 3D con le relative utility Tailwind

Ordine delle operazioni

Le stesse due funzioni in ordine diverso mettono il box in un punto diverso. Entrambi i box blu partono dallo stesso punto.

Prima translate poi rotate, contro prima rotate poi translate

Nel primo box lo scorrimento avviene lungo l'asse X dello schermo. Nel secondo lo scorrimento segue l'asse ruotato, quindi il box finisce più in basso.

Le proprietà individuali non si sovrascrivono a vicenda

La regola hover tocca solo scale, quindi il rotate impostato nella regola base resta. Con la scorciatoia transform dovresti ripetere rotate(-3deg) dentro :hover.

Stessa rotazione, tre origini

L'origine è il punto che resta fermo. center è il valore predefinito; top left fa girare il box come una porta incernierata nell'angolo.

Flip 3D di una card

Passa sopra con il mouse o metti a fuoco per girarla (solo CSS)

perspective sul contenitore dà profondità, preserve-3d mantiene entrambe le facce nello stesso spazio 3D e backface-visibility nasconde la faccia rivolta dall'altra parte. Chi preferisce meno movimento vede uno scambio istantaneo.

Combinare trasformazioni e transizioni

Sollevamento all'hover per card e pulsanti

Cambiano solo transform e box-shadow, e il movimento viene disattivato per chi chiede meno animazioni.

La stessa idea in Tailwind

motion-safe: applica il movimento all'hover solo quando chi legge non ha richiesto il movimento ridotto.

Cosa costa poco animare

Lavoro di rendering causato dal cambio di una proprietà (comportamento tipico dei browser)

(nessuna trasformazione)

Playground delle trasformazioni

Stile dell'output

scorciatoia transform

proprietà individuali

Ripristina

Card

Contorno tratteggiato: dove si trova la card nel layout. Punto scuro: il transform-origin.

Copia il CSS

Classi Tailwind

Copia le classi

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito