Maison > Article > interface Web > Animer avec TailwindCSS
Lorsqu'il s'agit d'améliorer l'expérience utilisateur dans les applications Web, les animations jouent un rôle central. TailwindCSS simplifie le processus d'ajout d'animations, mais que se passe-t-il si vous voulez plus que les options de base ? Dans cet article, je vais vous guider dans l'extension des animations TailwindCSS, vous permettant de créer des animations personnalisées et dynamiques sans compter uniquement sur du CSS personnalisé.
TailwindCSS propose quatre animations principales : rotation, ping, rebond et impulsion. Ces animations sont simples à mettre en œuvre mais manquent souvent de la granularité et du contrôle souhaités par les développeurs. Bien que ces options par défaut soient pratiques, vous aurez peut-être besoin d'animations plus sophistiquées, adaptées aux exigences uniques de votre application.
Dans de nombreux cas, les développeurs souhaitent modifier les animations, par exemple en changeant la vitesse ou en appliquant des effets uniques comme « remuer ». La bonne nouvelle est que TailwindCSS permet la personnalisation via le fichier de configuration, vous permettant d'ajouter de nouvelles animations et de définir leurs caractéristiques.
Pour commencer, vous devez localiser votre fichier de configuration TailwindCSS (généralement tailwind.config.js). Voici un processus étape par étape pour étendre les animations de base.
Disons que vous souhaitez créer une version plus lente de l'animation de rotation, que nous appellerons spin-slow. Vous commencerez par accéder à votre fichier de configuration Tailwind :
module.exports = { theme: { extend: { animation: { 'spin-slow': 'spin 1s linear infinite', } } } }
Dans cet exemple, nous avons référencé l'animation de rotation existante et ajusté sa durée à une seconde tout en conservant un assouplissement linéaire.
Au-delà de la modification des animations existantes, vous pouvez en créer de toutes nouvelles, comme un effet « wiggle ». Pour ce faire, vous définirez des images clés dans votre configuration Tailwind :
module.exports = { theme: { extend: { animation: { wiggle: 'wiggle 1s ease-in-out infinite', }, keyframes: { wiggle: { '0%, 100%': { transform: 'rotate(-9deg)' }, '50%': { transform: 'rotate(9deg)' }, }, }, }, } }
Cette configuration introduit une animation agitée qui fait pivoter un élément d'avant en arrière.
Bien que les animations TailwindCSS par défaut soient utiles, elles peuvent ne pas couvrir tous vos besoins, tels que l'ajustement du timing de l'animation, des retards ou même du contrôle des états de lecture. C'est ici que les plugins entrent en jeu.
Pour avoir plus de contrôle sur les animations, vous pouvez utiliser le plugin TailwindCSS Animate. Pour installer ce plugin, suivez ces étapes :
npm install tailwindcss-animate
module.exports = { plugins: [ require('tailwindcss-animate'), ], }
Ce plugin étend les fonctionnalités de TailwindCSS, vous permettant de définir facilement les durées d'animation, les retards et les états de lecture.
Une fois le plugin installé, vous pouvez l'utiliser pour définir des attributs comme la durée et le délai directement dans votre HTML :
<div class="animate-wiggle duration-75 delay-1000"></div>
Cet exemple applique l'animation de tremblement avec une durée de 75 millisecondes et un délai d'une seconde.
L'une des fonctionnalités les plus puissantes du plugin Animate est la possibilité de contrôler si une animation est en cours d'exécution ou en pause. En basculant les classes, vous pouvez suspendre les animations en fonction des interactions des utilisateurs, améliorant ainsi l'expérience interactive.
let isRunning = true; const toggleAnimation = () => { isRunning = !isRunning; document.querySelector('.animate-wiggle').classList.toggle('paused', !isRunning); document.querySelector('.animate-wiggle').classList.toggle('running', isRunning); };
Cet extrait de code permet de mettre en pause ou de reprendre une animation en un clic, fournissant ainsi un élément d'interface utilisateur dynamique.
Si vous aimez cet article, n'hésitez pas à laisser un commentaire. Cela fera ma journée !
Si vous souhaitez lire d'autres choses de moi, vous pouvez consulter mon blog personnel.
Si vous souhaitez me contacter, vous pouvez m'envoyer un message sur Twitter/X.
Vous pouvez également consulter d'autres choses que j'ai en cours ici
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!