Transformations CSS : rotate, scale, translate et skew

Bac à sable des transformations CSS

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

Faites glisser les curseurs rotate, scale, translate et skew et copiez le CSS et les classes Tailwind. Couvre l'ordre des transformations, transform-origin, le retournement de carte en 3D et les animations fluides.

Déplacez, faites pivoter, redimensionnez ou inclinez un élément avec la propriété transform : transform: translate(20px, 0) rotate(15deg) scale(1.1) skewX(5deg). Les fonctions s'appliquent de droite à gauche, donc leur ordre change le résultat. Les transformations ne décalent jamais la mise en page environnante, et les animer coûte peu car le navigateur peut confier le travail au compositeur.

Les quatre fonctions de transformation 2D

Utilisez les curseurs pour construire une transformation et regardez une carte réagir, puis basculez entre la propriété transform unique et les propriétés séparées translate, rotate et scale. Plus bas se trouvent la démo de l'origine, un flip 3D à survoler, des recettes de transitions et une explication de pourquoi les transformations restent fluides alors que top et left saccadent.

Questions fréquentes

Pourquoi l'ordre des fonctions de transformation compte-t-il ?

Chaque fonction modifie le système de coordonnées des fonctions écrites avant elle, donc la liste s'applique en pratique de droite à gauche. translate(100px) rotate(45deg) fait pivoter la boîte puis la fait glisser tout droit vers la droite, alors que rotate(45deg) translate(100px) la fait glisser le long de l'axe diagonal tourné.

Quelle est la différence entre transform: rotate() et la propriété rotate ?

Les propriétés rotate, scale et translate sont des versions autonomes des mêmes fonctions. On peut les définir et les animer séparément, donc un scale au survol n'efface pas une rotation définie ailleurs. Le navigateur applique d'abord translate, puis rotate, puis scale, puis tout ce qui se trouve dans transform.

Une transformation affecte-t-elle la mise en page ou les autres éléments ?

Non. L'élément garde sa boîte d'origine dans la mise en page et ses voisins ne bougent pas. Seule son image affichée change. Un élément transformé crée en revanche un nouveau contexte d'empilement et devient le bloc conteneur de ses descendants en position fixed, ce qui peut surprendre avec les modales.

Comment retourner un élément horizontalement ?

Utilisez transform: scaleX(-1) ou la propriété scale avec scale: -1 1. L'élément est inversé en miroir autour de son origine, qui est le centre par défaut. Pour un retournement 3D qui montre une face arrière, faites-le pivoter autour de l'axe Y dans un parent doté de perspective.

Pourquoi mon texte transformé est-il flou ?

Les translations fractionnaires et certaines valeurs de scale placent les glyphes entre deux pixels, ce qui les adoucit, surtout pendant une animation. Arrondir les valeurs de translate au pixel entier et mettre à l'échelle vers la taille finale plutôt qu'en agrandissant depuis une taille plus petite rend généralement le résultat plus net.

Lire une liste de transformations

Pourquoi les transformations s'animent en douceur

La 3D en un paragraphe

Toutes les fonctions de transformation

Fonctions de transformation 2D et 3D avec leurs utilitaires Tailwind

Ordre des opérations

Les deux mêmes fonctions dans un ordre différent placent la boîte à un autre endroit. Les deux boîtes bleues partent du même point.

translate puis rotate, contre rotate puis translate

Dans la première boîte, le glissement se fait le long de l'axe X de l'écran. Dans la seconde, il suit l'axe tourné, donc la boîte finit plus bas.

Les propriétés individuelles ne s'écrasent pas entre elles

La règle de survol ne touche que scale, donc le rotate défini dans la règle de base est conservé. Avec le raccourci transform, il faudrait répéter rotate(-3deg) dans :hover.

Même rotation, trois origines

L'origine est le point qui reste fixe. center est la valeur par défaut ; top left fait pivoter la boîte comme une porte sur une charnière placée dans le coin.

Retournement de carte en 3D

Survolez ou donnez le focus pour retourner (CSS uniquement)

La perspective sur le conteneur donne la profondeur, preserve-3d garde les deux faces dans un même espace 3D et backface-visibility masque la face tournée vers l'arrière. Les utilisateurs qui demandent moins d'animations obtiennent un échange instantané.

Combiner transformations et transitions

Effet de soulèvement au survol pour les cartes et les boutons

Seuls transform et box-shadow changent, et le mouvement est désactivé pour les visiteurs qui demandent moins d'animations.

La même idée en Tailwind

motion-safe: n'applique le mouvement au survol que si le visiteur n'a pas demandé la réduction des animations.

Ce qui coûte peu à animer

Travail de rendu déclenché quand une propriété change (comportement habituel des navigateurs)

(aucune transformation)

Bac à sable des transformations

Style de sortie

raccourci transform

propriétés individuelles

Réinitialiser

Carte

Contour en pointillés : la place de la carte dans la mise en page. Point foncé : le transform-origin.

Copier le CSS

Classes Tailwind

Copier les classes

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site