Générateur d’animation CSS de sprite sheet
Transformez une sprite sheet en une animation CSS steps() prête à copier-coller, avec un aperçu en direct, directement dans votre navigateur.
Votre sprite sheet est lue localement dans votre navigateur pour construire l’aperçu et générer le CSS ; l’image n’est jamais téléversée et reste sur votre appareil.
Vous nettoyez la sortie ? Essayez le Formateur CSS.
À propos de Animation CSS de sprite sheet
Ce générateur d’animation CSS de sprite sheet transforme une bande ou une grille de frames en une animation CSS prête à coller, construite sur @keyframes et la fonction de minutage steps(). Déposez une image de sprite sheet pour un aperçu en direct, ou saisissez simplement la largeur, la hauteur et le nombre de frames et laissez l’outil calculer la background-position à votre place. Il gère aussi bien une seule rangée horizontale qu’une grille complète, parcourant les frames en ordre par ligne à travers les colonnes puis les rangées, et associe les keyframes à background-size pour que chaque cellule tombe exactement au bon endroit. Réglez la vitesse par FPS ou par durée totale, nommez l’animation, choisissez une boucle infinie ou un nombre d’itérations fixe, et sélectionnez une direction. Vous obtenez le CSS complet — dimensionnement de l’élément, bloc @keyframes et raccourci d’animation — que vous pouvez copier ou télécharger sous forme de fichier .css. Tout s’exécute sur votre appareil, de sorte qu’une sprite sheet importée est lue localement et ne quitte jamais votre navigateur.
Fonctionnalités
- Importez une sprite sheet par glisser-déposer ou via le sélecteur de fichiers pour un aperçu en direct instantané, ou travaillez à partir des seules dimensions
- Le mode rangée unique émet un keyframe compact from/to à deux arrêts qui fait avancer background-position le long de la bande
- Le mode grille émet un arrêt background-position explicite par frame, par ligne à travers les colonnes puis les rangées
- Ajoute background-size en mode grille pour que chaque cellule s’adapte exactement à vos dimensions de frame
- Réglez le minutage par frames par seconde ou par durée totale en millisecondes
- Choisissez une boucle infinie ou un nombre d’itérations fixe, plus une direction normale, inverse ou alternée
- Assainit automatiquement le nom de l’animation en un identifiant CSS valide
- Copiez le CSS complet ou téléchargez-le sous forme de fichier .css en un clic
Comment utiliser Animation CSS de sprite sheet
- Importez une sprite sheet, ou passez l’import et saisissez simplement les dimensions de vos frames.
- Choisissez rangée unique ou grille, puis définissez la largeur, la hauteur et le nombre de frames (plus les colonnes et rangées pour une grille).
- Réglez la vitesse avec les FPS ou une durée totale, puis nommez l’animation et choisissez l’itération et la direction.
- Observez l’élément s’animer dans l’aperçu en direct pour confirmer que le cadrage est bon.
- Copiez le CSS généré ou téléchargez-le sous forme de fichier .css et intégrez-le à votre projet.
Exemple
Entrée
8 frames, 64×64 each, single row, 12 fps, infinite
Sortie
.sprite {
width: 64px;
height: 64px;
background-repeat: no-repeat;
animation: sprite 0.667s steps(8) infinite normal;
}
@keyframes sprite {
from { background-position: 0 0; }
to { background-position: -512px 0; }
}
Une feuille en rangée unique ne nécessite que steps(8) et un keyframe à deux arrêts pour jouer toutes les frames.
Erreurs courantes et dépannage
- L’animation saccade ou montre un morceau de la frame suivante. — Assurez-vous que la largeur et la hauteur des frames correspondent exactement à la feuille. Si les cellules sont irrégulières, recadrez la feuille pour que chaque frame ait la même taille.
- Seule la première frame s’affiche et rien ne bouge. — Vérifiez que le nombre de frames est d’au moins 2 et que background-repeat reste no-repeat pour que la feuille ne soit pas répétée en mosaïque.
- Une feuille en grille joue les mauvaises frames ou dérive en diagonale. — Confirmez que les colonnes et les rangées correspondent à la disposition de la feuille ; l’outil parcourt les frames de gauche à droite puis de haut en bas, donc les nombres doivent être justes.
- L’animation est trop rapide ou trop lente. — Basculez le mode de minutage entre FPS et durée totale. La durée totale divisée par le nombre de frames donne le temps par frame.
Foire aux questions
- Comment steps() anime-t-il une sprite sheet ?
- steps(n) découpe l’animation en n segments égaux et saute de l’un à l’autre au lieu d’interpoler, de sorte que background-position bascule d’une frame à la suivante. Utiliser steps() égal à votre nombre de frames signifie que chaque frame est affichée pendant une étape, sans positions floues intermédiaires.
- Dois-je importer mon image ?
- Non. Importer une sprite sheet vous donne un aperçu en direct, mais vous pouvez générer un CSS correct à partir de la seule largeur, hauteur et nombre de frames. Sans image, l’aperçu affiche une grille d’espace réservé tandis que les calculs et la sortie restent exacts.
- Quelle est la différence entre le mode rangée unique et le mode grille ?
- Le mode rangée unique suppose que toutes les frames se trouvent sur une seule bande horizontale et émet un keyframe compact from/to. Le mode grille gère les feuilles multi-rangées en émettant un arrêt background-position par frame, se déplaçant à travers les colonnes puis vers le bas des rangées, et ajoute background-size pour que toute la feuille s’adapte correctement.
- Dois-je régler les FPS ou une durée totale ?
- Utilisez les FPS quand vous savez combien de frames doivent jouer chaque seconde ; l’outil les convertit en durée en divisant le nombre de frames par les FPS. Utilisez la durée totale quand vous voulez que toute la boucle prenne un nombre précis de millisecondes, quel que soit le nombre de frames.
- Comment faire boucler l’animation indéfiniment ou seulement quelques fois ?
- Choisissez Infinie pour une boucle sans fin, ce qui correspond à animation-iteration-count: infinite. Choisissez Nombre et saisissez un chiffre pour jouer la séquence un nombre fixe de fois, et utilisez l’option de direction pour une lecture inverse ou alternée.
- Ma sprite sheet est-elle téléversée quelque part ?
- Non. L’image est lue localement avec le FileReader de votre navigateur pour construire l’aperçu et elle ne quitte jamais votre appareil ; le CSS généré est calculé entièrement sur votre machine.
Outils associés
Tous les outils ArrayKit