CSS transforms: rotate, scale, translate en skew

CSS transform-speeltuin

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

Sleep schuifregelaars voor rotate, scale, translate en skew en kopieer de CSS en Tailwind-classes. Behandelt de volgorde van transforms, transform-origin, 3D-kaartflips en vloeiende animatie.

Verplaats, draai, vergroot of verschuif een element schuin met de eigenschap transform: transform: translate(20px, 0) rotate(15deg) scale(1.1) skewX(5deg). Functies worden van rechts naar links toegepast, dus hun volgorde verandert het resultaat. Transforms verschuiven nooit de omringende layout, en ze animeren is goedkoop omdat de browser het werk aan de compositor kan overlaten.

De vier 2D-transformfuncties

Gebruik de schuifregelaars om een transform op te bouwen en zie een kaart reageren, en wissel dan tussen de enkele eigenschap transform en de losse eigenschappen translate, rotate en scale. Verderop staan de demo voor de origin, een 3D-flip waar u met de muis over kunt gaan, recepten voor transitions en een uitleg waarom transforms vloeiend blijven terwijl top en left haperen.

Veelgestelde vragen

Waarom doet de volgorde van transformfuncties ertoe?

Elke functie verandert het coördinatenstelsel voor de functies die ervoor geschreven zijn, dus de lijst wordt in feite van rechts naar links toegepast. translate(100px) rotate(45deg) draait het vak en schuift het dan recht naar rechts, terwijl rotate(45deg) translate(100px) het langs de gedraaide, diagonale as schuift.

Wat is het verschil tussen transform: rotate() en de eigenschap rotate?

De eigenschappen rotate, scale en translate zijn losse versies van dezelfde functies. Ze kunnen apart worden ingesteld en geanimeerd, zodat een scale bij hover een elders ingestelde rotatie niet wist. De browser past eerst translate toe, dan rotate, dan scale, en daarna alles in transform.

Beïnvloedt transform de layout of andere elementen?

Nee. Het element houdt zijn oorspronkelijke vak in de layout en buren bewegen niet. Alleen het getekende beeld verandert. Een getransformeerd element maakt wel een nieuwe stacking context en wordt het containing block voor afstammelingen met fixed positie, wat u bij modals kan verrassen.

Hoe spiegel ik een element horizontaal?

Gebruik transform: scaleX(-1) of de eigenschap scale met scale: -1 1. Dat spiegelt het element rond zijn origin, standaard het midden. Voor een 3D-flip die een achterkant toont, draai rond de Y-as binnen een ouder met perspective.

Waarom is mijn getransformeerde tekst wazig?

Fractionele verschuivingen en sommige scale-waarden plaatsen tekens tussen pixels, wat ze zachter maakt, vooral terwijl een animatie loopt. Translate-waarden afronden op hele pixels en schalen naar het eindformaat in plaats van omhoog vanaf een kleiner formaat maakt het resultaat meestal scherper.

Een transformlijst lezen

Waarom transforms vloeiend animeren

3D in één alinea

Elke transformfunctie

2D- en 3D-transformfuncties met hun Tailwind-utilities

Volgorde van bewerkingen

Dezelfde twee functies in een andere volgorde zetten het vak op een andere plek. Beide blauwe vakken beginnen op dezelfde plek.

Eerst translate dan rotate, tegenover eerst rotate dan translate

In het eerste vak gebeurt de verschuiving langs de X-as van het scherm. In het tweede volgt de verschuiving de gedraaide as, dus het vak komt lager uit.

Losse eigenschappen overschrijven elkaar niet

De hover-regel raakt alleen scale aan, dus de rotate die in de basisregel is ingesteld blijft bestaan. Met de transform-shorthand zou u rotate(-3deg) binnen :hover moeten herhalen.

Dezelfde rotatie, drie origins

De origin is het punt dat vast blijft. center is de standaard; top left laat het vak zwaaien als een deur met het scharnier in de hoek.

3D-kaartflip

Hover of focus om om te draaien (alleen CSS)

perspective op de wrapper geeft diepte, preserve-3d houdt beide zijden in één 3D-ruimte en backface-visibility verbergt de zijde die van u af wijst. Gebruikers die minder beweging willen krijgen een directe wissel.

Transforms combineren met transitions

Optillen bij hover voor kaarten en knoppen

Alleen transform en box-shadow veranderen, en de beweging wordt uitgeschakeld voor lezers die om minder beweging vragen.

Hetzelfde idee in Tailwind

motion-safe: past de hoverbeweging alleen toe als de lezer niet om minder beweging heeft gevraagd.

Wat goedkoop te animeren is

Renderwerk dat ontstaat wanneer een eigenschap verandert (typisch browsergedrag)

(geen transform)

Transform-speeltuin

Uitvoerstijl

transform-shorthand

losse eigenschappen

Herstellen

Kaart

Gestippelde omtrek: waar de kaart in de layout staat. Donkere stip: de transform-origin.

CSS kopiëren

Tailwind-classes

Classes kopiëren

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap