Aller au contenu

Générateur de transformations CSS

Neuf réglages définissent translate, scale, rotate, skew et l’origine de la transformation. La scène se redessine à chaque frappe et Copier CSS place une déclaration transform propre dans le presse-papiers.

Fonctionne localement dans votre navigateur
· translate · rotate · scale · skew
PANNEAU DE CONTRÔLE
APERÇU
CSS
EXPORTER LE CSS

Comment combiner translate, rotate, skew et scale

Neuf réglages pilotent une transformation 2D : translateX et translateY en px (-240 à 240), scaleX et scaleY (-3 à 3), rotate (-360 à 360 degrés), skewX et skewY (-89 à 89 degrés) et les pourcentages transform-origin X et Y (0 à 100). Chaque frappe redessine la carte sur la scène, et le panneau de code contient exactement la chaîne que Copier CSS place dans le presse-papiers.

L’export compose les fonctions dans un ordre fixe (translate, puis rotate, puis skew, puis scale) et retire celles qui restent à leur valeur d’identité : une page intacte exporte donc transform: none. Une mesure dans le navigateur a confirmé que la chaîne réduite produit la même matrice que la chaîne complète : translate(77px, 0px) seul et translate(77px, 0px) rotate(0deg) skew(0deg, 0deg) scale(1, 1) donnent tous deux matrix(1, 0, 0, 1, 77, 0).

  1. Choisissez un préréglage ou restez sur Custom. Tilt vaut translate(18px, -12px) rotate(-12deg) skew(-8deg, 2deg) scale(1.04, 1.04) ; Zoom vaut scale(1.55, 1.55) avec rotate(4deg) ; Flip inverse l’axe X avec scale(-1, 1). Modifier un champ replace le sélecteur sur Custom.
  2. Saisissez une valeur dans l’un des neuf champs. La scène et le panneau de code se mettent à jour à chaque frappe et l’aperçu utilise déjà la valeur bornée : 999 dans translateX déplace la carte à 240px.
  3. Cliquez ailleurs pour valider. Quand le champ perd le focus, le nombre enregistré y est réécrit ; champ, scène et code restent donc cohérents. Vider un champ restaure le nombre enregistré au lieu de le mettre à zéro.
  4. Placez l’origine avec les deux champs de pourcentage. Le repère de 12px sur la carte montre le point d’origine (50% 50% par défaut), et l’export n’ajoute transform-origin que si l’origine n’est pas 50% 50% et qu’au moins une fonction est active.
  5. Appuyez sur Copier CSS pour la déclaration de .transformed-element, ou sur Réinitialiser pour remettre les neuf champs et le préréglage à leurs valeurs de départ.

Valeurs de départ, ordre fixe des fonctions et valeurs réécrites à la confirmation

Une transformation, quatre fonctions dans un ordre fixe

L’atelier écrit translate(...) d’abord, puis rotate(...), puis skew(...), puis scale(...). Les fonctions encore à leur valeur d’identité sont omises : une modification de translation seule exporte transform: translate(77px, 0px) ; et quand rien n’est défini, le bloc vaut transform: none; sans ligne transform-origin.

L’ordre compte. Dans la mesure navigateur, translate(100px, 0px) rotate(45deg) calcule matrix(0.707107, 0.707107, -0.707107, 0.707107, 100, 0), tandis que rotate(45deg) translate(100px, 0px) calcule matrix(0.707107, 0.707107, -0.707107, 0.707107, 70.7107, 70.7107) : placée en second, la translation est entraînée par la rotation.

Bornes et valeurs réécrites à la confirmation

Décalage -240 à 240 px, échelle -3 à 3, rotation -360 à 360 degrés, inclinaison -89 à 89 degrés et origine 0 à 100 %. Pendant la saisie, l’aperçu reste dans ces bornes ; à la sortie du champ, le nombre borné remplace le texte saisi : 999 dans l’origine Y enregistre 100 %, et -300 dans translateX enregistre -240 px.

Les neuf champs acceptent n’importe quel pas, donc l’échelle 1.04 du préréglage Tilt n’est pas signalée comme invalide. L’inclinaison s’arrête à 89 degrés car tan(90 degrés) n’est pas bornée, et le repère d’origine ne peut pas quitter la carte puisque l’origine reste entre 0 et 100 %.

Ce que cette page ne fait pas

La page est bidimensionnelle : pas de translateZ, rotateX/rotateY, perspective ni saisie matrix(), et la scène ne porte qu’un seul élément. Le sélecteur est fixe (.transformed-element) et le panneau exporte une déclaration transform plus un transform-origin facultatif ; aucune sortie pour media query ni variable CSS.

Tout s’exécute dans la page. Parcourir les neuf champs, les trois préréglages non standards, Copier CSS et Réinitialiser n’a produit aucune requête réseau dans la mesure ; seule la balise d’analyse partagée se charge. Sur une fenêtre de 390px, la carte mesure 118x118 (150x150 sur ordinateur) avec le même repère de 12px et sans débordement horizontal.

Outils récents :