Éditeur de courbes cubic-bezier
Créez vos courbes d’accélération CSS avec un éditeur cubic-bezier à poignées, comparez-les à linear dans une animation et copiez cubic-bezier() ou linear().
Faites glisser les deux poignées (P1 et P2). Le temps va de gauche à droite, la progression de bas en haut ; les poignées peuvent dépasser 1 ou descendre sous 0 pour un rebond. Poignée sélectionnée : flèches du clavier (Maj pour 0,1).
Aperçu de l’animation
L’animation est en pause, car votre système demande de réduire les animations. Appuyez sur Lecture pour la lancer quand même.
La même courbe échantillonnée en fonction CSS linear() (Chrome 113+, Firefox 112+, Safari 17.2+). Plus il y a de points, plus elle est fidèle.
Comment utiliser l’éditeur de courbes cubic-bezier
- Faites glisser les deux poignées du graphique. P1 (premier point de contrôle) façonne le début du mouvement, P2 la fin. Le temps va de gauche à droite, la progression de bas en haut.
- Vous pouvez aussi saisir une valeur dans Valeur cubic-bezier() : une fonction complète comme
cubic-bezier(0.4, 0, 0.2, 1), quatre nombres ou un mot-clé commeease-in-out. Les champs x1, y1, x2 et y2 modifient une coordonnée à la fois. - Partez du menu Préréglages (mots-clés CSS, familles sinus à back, courbes Material Design) ou des boutons de mots-clés. Quand votre courbe correspond à un préréglage, son nom s’affiche à côté des boutons.
- Observez l’Aperçu de l’animation : le point de Votre courbe et celui de linear parcourent la même distance pendant la même Durée. Utilisez Pause/Lecture et Recommencer pour les comparer.
- Copiez le résultat depuis Fonction de temporisation CSS, ou copiez l’Approximation linear() après avoir choisi son nombre de Segments.
Au clavier : sélectionnez une poignée et déplacez-la avec les flèches, de 0,01 (0,1 avec Maj).
Si votre système demande de réduire les animations, l’aperçu démarre en pause. Appuyez sur Lecture pour le lancer malgré tout.
Ce que signifie cubic-bezier()
Une fonction d’easing CSS associe le temps écoulé d’une transition (de 0 à 1) à sa progression (de 0 à 1). cubic-bezier(x1, y1, x2, y2) décrit cette relation par une courbe de Bézier cubique qui part de (0, 0), arrive en (1, 1) et est attirée par deux points de contrôle, P1 = (x1, y1) et P2 = (x2, y2).
- Les valeurs x représentent le temps et doivent rester entre 0 et 1, sinon la courbe ne serait plus une fonction du temps valide. L’éditeur les maintient dans cet intervalle.
- Les valeurs y représentent la progression et peuvent descendre sous 0 ou dépasser 1. Un y supérieur à 1 fait dépasser la cible puis revenir, comme les courbes Back (dépassement) ; sous 0, l’élément recule d’abord.
- Une pente raide signifie un mouvement rapide, une pente douce un mouvement lent.
ease-outdémarre vite et finit lentement, ce qui paraît naturel pour un élément qui entre à l’écran.ease-infait l’inverse et convient aux sorties.
Les mots-clés CSS sont des raccourcis : ease = cubic-bezier(0.25, 0.1, 0.25, 1), ease-in = (0.42, 0, 1, 1), ease-out = (0, 0, 0.58, 1), ease-in-out = (0.42, 0, 0.58, 1) et linear = (0, 0, 1, 1).
L’approximation linear()
La fonction plus récente linear() énumère des valeurs de progression à intervalles de temps réguliers, par exemple linear(0, 0.25, 0.5, 0.75, 1), et les relie par des segments. L’outil échantillonne votre courbe (il résout l’équation de Bézier pour chaque pas de temps) et écrit ces valeurs avec trois décimales. Avec 20 à 40 segments, le résultat est visuellement identique. linear() sert surtout aux courbes qu’une Bézier ne peut pas dessiner, comme les rebonds et les ressorts. Elle fonctionne dans Chrome et Edge 113+, Firefox 112+ et Safari 17.2+ : gardez la valeur cubic-bezier() comme solution de repli.
Questions fréquentes
Où utiliser la valeur obtenue ?
Dans transition-timing-function, animation-timing-function ou la propriété raccourcie : transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. L’API Web Animations l’accepte dans l’option easing.
Quelle durée choisir ?
Les petits changements d’interface durent en général de 150 à 300 ms, les grands déplacements à l’écran de 300 à 500 ms. Au-delà, l’animation paraît vite lente.
Pourquoi ne puis-je pas sortir une poignée par la gauche ou la droite ?
Parce que x représente le temps, qui ne peut pas reculer : le CSS refuse les valeurs x hors de l’intervalle 0–1.
Quelles courbes utilise Material Design ?
La courbe standard classique est cubic-bezier(0.4, 0, 0.2, 1), avec des variantes decelerate, accelerate et sharp. Material 3 ajoute les courbes « emphasized » ; toutes figurent dans le menu Préréglages.
Comment gérer la réduction des animations ?
Respectez @media (prefers-reduced-motion: reduce) dans votre CSS : raccourcissez ou supprimez les grands déplacements et gardez de simples fondus.
Outils similaires
- Générateur d'ombre CSS (box-shadow) Créez des ombres CSS box-shadow en plusieurs couches avec aperçu en direct : décalage, flou, étendue, couleur, opacité, inset et neumorphisme.
- Générateur Flexbox et Grid Créez des mises en page Flexbox et CSS Grid en direct : conteneur, éléments, zones de grille nommées, puis copiez le code CSS et HTML.
- Générateur de dégradés CSS Créez des dégradés CSS linéaires, radiaux et coniques avec aperçu en direct : ajoutez et déplacez les arrêts de couleur, réglez l’angle et copiez le code.