@KeyFrames CSS: meilleurs exemples de code
CSS @KeyFrames est utilisé pour définir les différentes étapes et changements d'animations. 1) Utilisation de base: Définissez les animations via @keyframes, telles que Fadein passant de transparent à opaque. 2) Animation de boucle: utilisez le mot-clé infini pour créer des effets de rotation continus. 3) Optimisation des performances: utilisez l'attribut de changement de volonté pour améliorer la maîtrise de l'animation. 4) Accessibilité: ajustez les animations en fonction des préférences de l'utilisateur via la requête multimédia préfère réduite en mouvement. 5) Contrôle flexible: combinez des variables CSS pour atteindre l'animation de changement de couleur. 6) Ajustez l'effet: rendre l'animation plus naturelle en modifiant la durée et la fonction de synchronisation.
La règle CSS @keyframes
est le cœur de l'animation, qui définit les différentes étapes et changements d'animation. Dans cet article, nous plongerons sur la façon d'utiliser @keyframes
pour créer des effets d'animation riches, pas seulement des transitions simples, mais aussi des scénarios d'application complexes et des meilleures pratiques.
En ce qui concerne l'application de @keyframes
, nous devons considérer son importance dans la conception Web moderne. L'animation n'est pas seulement une décoration visuelle, mais aussi un moyen important d'améliorer l'expérience utilisateur. Avec @keyframes
nous pouvons contrôler avec précision les changements d'éléments sur la chronologie, ce qui entraîne des effets d'animation lisses et convaincants.
Commençons par un exemple simple pour illustrer l'utilisation de base de @keyframes
:
@keyframes fadein { depuis { Opacité: 0; } à { Opacité: 1; } } .fade-in { Animation: Fadein 2S Facitage-in; }
Dans cet exemple, nous définissons une animation appelée fadeIn
, qui change progressivement de complètement transparent ( opacity: 0
) à l'opacité complètement ( opacity: 1
). Nous appliquons ensuite cette animation à un élément avec un fade-in
de classe, définissons la durée d'animation à 2 secondes et utilisons ease-in
comme effet de transition.
Maintenant, explorons plus de conseils d'utilisation de @keyframes
en profondeur et de certaines applications avancées.
Tout d'abord, nous pouvons utiliser @keyframes
pour créer des animations de boucle, ce qui est très utile lors de la création d'indicateurs de charge ou d'animations d'arrière-plan:
@keyframes spin { depuis { Transformer: Rotation (0deg); } à { transformée: rotation (360deg); } } . Téléchargement-spinner { Animation: Spin 1s linéaire infini; }
Dans cet exemple, l'animation spin
fait tourner les éléments en continu, et le mot-clé infinite
garantit que l'animation boucle infiniment. linear
assure une vitesse de rotation constante et n'a pas pour effet d'accélération et de décélération comme ease-in
.
Lorsque vous utilisez @keyframes
, nous devons également faire attention aux performances des animations. Une animation trop complexe peut conduire à une dégradation des performances des pages, en particulier sur les appareils mobiles. Pour optimiser les performances, nous pouvons utiliser will-change
pour inviter le navigateur quelles propriétés changeront, afin de se préparer à l'avance:
@KeyFrames Slidein { depuis { Transform: Translatex (-100%); } à { transformée: tradlatex (0); } } .slide-in { Volonté: Transformer; Animation: Slidein 0.5S Spow-out; }
Ici, nous utilisons will-change: transform
pour dire au navigateur que transform
changera, ce qui aide à améliorer la douceur de l'animation.
Un autre aspect à considérer est l'accessibilité des animations. L'animation peut provoquer une gêne parmi certains utilisateurs, en particulier celles souffrant d'épilepsie ou de troubles dysmotiques. Pour ce faire, nous pouvons utiliser la requête multimédia prefers-reduced-motion
pour détecter les préférences des utilisateurs et ajuster l'animation en conséquence:
@keyframes fadein { depuis { Opacité: 0; } à { Opacité: 1; } } .fade-in { Animation: Fadein 2S Facitage-in; } @Media (préfert-réduisant le mouvement: réduire) { .fade-in { Animation: aucun; } }
Avec ce paramètre, nos animations seront désactivées lorsque l'utilisateur permet l'option de réduction de mouvement, améliorant ainsi l'accessibilité de la page Web.
Dans les projets réels, j'ai constaté que @keyframes
peut être utilisé en conjonction avec les variables CSS (propriétés personnalisées) pour obtenir un contrôle d'animation plus flexible. Par exemple, nous pouvons définir une animation de changements de couleur et utiliser les variables CSS pour contrôler la couleur:
:racine { --Start-Color: # FF0000; --end-couleur: # 00FF00; } @KeyFrames ColorChange { depuis { Color d'arrière-plan: var (- start-color); } à { Color d'arrière-plan: var (- terminal-couleur); } } .Color-Change { Animation: Alter Infinite facilitateur de ColorChange 3S; }
Dans cet exemple, nous utilisons les variables CSS pour définir les couleurs de début et de fin de l'animation, afin que l'effet d'animation puisse être facilement ajusté sans modifier la règle @keyframes
.
Enfin, je veux partager un problème que j'ai rencontré: lors de l'utilisation @keyframes
, si l'animation dure trop courte, cela peut entraîner une apparence assez fluide. Pour résoudre ce problème, j'ajuste généralement la durée de l'animation et j'essaie différentes timing-function
pour trouver les meilleurs résultats:
@keyframes rebond { 0%, 100% { Transform: Translatey (0); } 50% { Transform: Translatey (-20px); } } .rebond { Animation: Bounce 0.8S Factual-in-Out Infinite; }
Dans cet exemple, j'ai constaté que la définition du temps d'animation à 0,8 seconde et l'utilisation ease-in-out
car la fonction de synchronisation rend l'effet de rebond plus naturel et plus fluide.
En général, @keyframes
est un outil puissant et flexible dans CSS, à travers lequel nous pouvons créer une variété d'effets d'animation complexes et convaincants. Grâce à l'introduction et aux exemples de cet article, j'espère que vous pourrez mieux comprendre comment @keyframes
est utilisé et appliquer de manière flexible ces techniques dans de vrais projets.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Aforloopinjavausesacountertorepeatcode: initialize (par exemple, inti = 0), setCondition (par exemple, i

TRAITSINPHPENABLEHORIZONTALCODEREUSEBYALLOING CLASSESTOINHERITMetMethodsfromreusableTraitContainers, contournant les liens de gamme.

L'utilisation de l'interface BlockingQueue intégrée dans Java est le moyen recommandé d'implémenter les files d'attente de blocage. Par exemple, ArrayBlockingQueue fournit une file d'attente en filetage bornée basée sur des tableaux; 2. Vous pouvez créer une file d'attente de blocage personnalisée de zéro à synchronisé, attendre () et notifyall () pour vous assurer que la méthode de put bloque lorsque la file d'attente est pleine, la méthode de prise bloque lorsque la file d'attente est vide et utilise une boucle while pour empêcher le faux réveil; 3. L'implémentation intégrée est une file d'attente, d'excellentes performances et prend en charge les opérations de délai d'attente. Il doit être prioritaire à utiliser dans l'environnement de production, et les implémentations personnalisées sont principalement utilisées pour l'apprentissage ou les besoins spéciaux.

set_error_handlerinphPenablesCustomErrorHandlingByDefiningAfonction interceptient les produits de contrôle, permettant à un contrôle de contrôle et aux réponses conviviales;

Thefilesclassinjavaprovidesamodernapiforfileoperations.itimplifieesreading, écriture, copie, déplacer et remettre à la fin de la fin

DebotNet DebotNet est un outil pour protéger les paramètres et données de confidentialité de Windows 10. DebotNet est essentiellement un outil portable libre qui peut nous aider à contrôler et à gérer les configurations liées à la confidentialité dans Windows 10 et à assurer la sécurité des données personnelles des utilisateurs. En fait, si vous souhaitez protéger vos données de confidentialité, vous constaterez qu'il y a encore beaucoup de choses pour améliorer les paramètres de confidentialité par défaut de Windows 10. Chaque fois que nous configurons un nouvel ordinateur pour notre environnement domestique ou de travail ou la mise à jour des paramètres actuels, nous devons toujours prendre le temps de vérifier soigneusement tous les paramètres de confidentialité pendant le processus d'installation et de configuration et de nous assurer que nos informations de confidentialité sont aussi sûres possibles. Pour la protection

Générez des mots de passe sécurisés avec SecureRandom, en combinant des lettres, des chiffres et des caractères spéciaux supérieurs et inférieurs pour assurer la diversité des mots de passe et éviter les générateurs de nombres aléatoires dangereux.

1. Vous pouvez afficher la structure DOM de la page Web via la fonction de débogage intégrée du navigateur UC ou se connecter à distance aux chromedevtools; 2. Entrez ucdebug: // inspecter dans la barre d'adresse pour permettre une revue simple; 3. Combiner le débogage USB et Chrome: // Inspecter peut réaliser une revue complète des éléments; 4. Vous pouvez également utiliser le panneau de débogage mobile en injectant les scripts Eruda.
