Maison interface Web tutoriel CSS Animation CSS : comment obtenir l'effet flash des éléments

Animation CSS : comment obtenir l'effet flash des éléments

Nov 21, 2023 am 10:56 AM
css Animation éclair

Animation CSS : comment obtenir leffet flash des éléments

Animation CSS : Comment obtenir l'effet flash des éléments, des exemples de code spécifiques sont nécessaires

Dans la conception Web, les effets d'animation peuvent parfois apporter une bonne expérience utilisateur à la page. L'effet scintillant est un effet d'animation courant qui peut rendre les éléments plus accrocheurs. Ce qui suit explique comment utiliser CSS pour obtenir l'effet flash des éléments.

1. Implémentation de base de flash

Tout d'abord, nous devons utiliser la propriété d'animation de CSS pour obtenir l'effet flash. La valeur de la propriété animation doit spécifier le nom de l'animation, le temps d'exécution de l'animation, le temps de retard de l'animation, la méthode d'exécution de l'animation et les temps d'exécution de l'animation. Pour l'effet flash, nous pouvons le spécifier comme une animation en boucle infinie.

Ensuite, nous devons attribuer des styles aux éléments. Étant donné que l'effet de paillettes nécessite de changer la couleur de l'élément lui-même, nous pouvons utiliser la propriété CSS currentColor pour obtenir la couleur actuelle du texte de l'élément comme couleur des paillettes. Nous pouvons également séparer le style de l'élément de l'effet flash via le sélecteur, afin que le style de contrôle et l'animation puissent être séparés.

Voici un exemple de code simple :

/* 为需要实现闪光效果的元素添加样式 */
.shine {
  color: black;
}

/* 定义闪光动画 */
@keyframes shining {
  0% {
    box-shadow: 0 0 0 0 currentColor;
  }
  50% {
    box-shadow: 0 0 0 1rem transparent;
  }
  100% {
    box-shadow: 0 0 0 0 currentColor;
  }
}

/* 应用闪光动画 */
.shine::before {
  animation: shining 2s infinite;
  content: '';
  display: block;
  position: absolute;
  top: -1rem;
  left: -1rem;
  right: -1rem;
  bottom: -1rem;
  z-index: -1;
  opacity: 0;
}

Dans le code de style ci-dessus, nous avons défini une classe nommée .shine pour styliser l'élément. Lors de la définition de l'animation, nous utilisons la règle @keyframes pour définir une animation nommée brillant et définissons 3 images clés pour obtenir l'effet clignotant.

Ensuite, nous avons ajouté un calque transparent positionné de manière absolue à l'élément en utilisant la pseudo-classe ::before, et appliqué l'animation de l'effet scintillant sur ce calque.

2. Considérations de compatibilité

Bien que le code ci-dessus puisse obtenir l'effet flash, il n'est pas compatible avec tous les navigateurs. Selon caniuse.com, la propriété box-shadow et la propriété currentColor présentent des problèmes de compatibilité.

Pour résoudre ce problème, nous pouvons apporter quelques modifications au code ci-dessus. Tout d’abord, nous pouvons remplacer la propriété box-shadow par une image d’arrière-plan transparente. Deuxièmement, nous pouvons utiliser la fonction rgba() de CSS pour contrôler la couleur et la transparence du flash.

Voici l'exemple de code modifié :

/* 为需要实现闪光效果的元素添加样式 */
.shine {
  color: black;
}

/* 定义闪光动画 */
@keyframes shining {
  0% {
    opacity: 0;
    background-color: rgba(255, 255, 255, 0);
  }
  50% {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.5);
  }
  100% {
    opacity: 0;
    background-color: rgba(255, 255, 255, 0);
  }
}

/* 应用闪光动画 */
.shine::before {
  animation: shining 2s infinite;
  content: '';
  display: block;
  position: absolute;
  top: -1rem;
  left: -1rem;
  right: -1rem;
  bottom: -1rem;
  z-index: -1;
}

Dans le code modifié ci-dessus, nous avons utilisé l'attribut background-color et l'attribut opacity au lieu de l'attribut box-shadow. Lors de la définition de l'animation flash, nous utilisons la fonction rgba() pour définir la couleur et la transparence. De cette façon, nous pouvons implémenter l’effet scintillant dans tous les navigateurs modernes.

3. Autres optimisations

Ensuite, nous pouvons apporter quelques optimisations au code. Par exemple, nous pouvons désactiver l'exécution d'effets d'animation lors du premier chargement de la page pour améliorer les performances de la page Web. Nous pouvons également utiliser la propriété CSS will-change pour accélérer les performances de rendu lors de la lecture de l'animation.

Voici un exemple de code optimisé :

/* 为需要实现闪光效果的元素添加样式 */
.shine {
  color: black;
}

/* 定义闪光动画 */
@keyframes shining {
  0% {
    opacity: 0;
    background-color: rgba(255, 255, 255, 0);
  }
  50% {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.5);
  }
  100% {
    opacity: 0;
    background-color: rgba(255, 255, 255, 0);
  }
}

/* 优化样式 */
.shine::before {
  will-change: opacity, background-color;
}

/* 禁用闪光动画在载入时立即执行 */
.shine:not(:hover)::before {
  animation-play-state: paused;
}

/* 开启闪光动画 */
.shine:hover::before {
  animation-play-state: running;
  animation: shining 2s infinite;
  content: '';
  display: block;
  position: absolute;
  top: -1rem;
  left: -1rem;
  right: -1rem;
  bottom: -1rem;
  z-index: -1;
}

Dans le code modifié ci-dessus, nous utilisons la propriété will-change de CSS pour demander au navigateur d'optimiser le rendu de l'élément. Afin d'éviter que les effets d'animation ne soient exécutés immédiatement lors du chargement de la page, nous utilisons l'attribut animation-play-state pour définir l'état de pause initial. Enfin, lorsque la souris survole l'élément, nous utilisons la pseudo-classe :hover pour activer l'animation flash et définir la valeur de l'attribut d'animation sur brillant.

Résumé

Grâce à l'exemple de code ci-dessus, nous pouvons voir comment utiliser CSS pour obtenir l'effet flash des éléments. Cet effet peut apporter une bonne expérience utilisateur à la conception Web. Pour obtenir cet effet, nous devons prêter attention à la compatibilité et aux performances du code. Si vous rencontrez des problèmes lors de la pratique, vous pouvez essayer d'optimiser le code et essayer d'autres solutions.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

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

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment créer un effet de verre en verre avec CSS Comment créer un effet de verre en verre avec CSS Aug 22, 2025 am 07:54 AM

Pour créer un effet de mimétisme en verre de CSS, vous devez utiliser le filtre de fond pour obtenir un flou d'arrière-plan, définir un arrière-plan translucide tel que RGBA (255,255,255,0.1), ajouter des bordures subtiles et des ombres pour améliorer le sens de la hiérarchie et vous assurer qu'il existe suffisamment de frontières et d'ombres pour améliorer le sens de la hiérarchie et garantir qu'il existe suffisamment de frontières visuelles derrière les éléments; 1. Utilisez le filtre de fond: Blur (10px) pour brouiller le contenu d'arrière-plan; 2. Utilisez RGBA ou HSLA pour définir le fond transparent pour contrôler le degré de transparence; 3. Ajouter 1PXSolidrgba (255 255,255,0,3) Borders et Box-Shadow pour améliorer la trois dimensionnalité; 4. Assurez-vous que le conteneur a des arrière-plans riches tels que des images ou des textures pour présenter un effet de pénétration floue; 5. Il est compatible avec les anciens navigateurs

Comment changer le style de liste dans CSS Comment changer le style de liste dans CSS Aug 17, 2025 am 10:04 AM

Pour modifier le style de liste CSS, utilisez d'abord le type de style liste pour modifier la balle ou le style de numérotation. 1. Utilisez du type de style liste pour régler la balle de UL à disque, cercle ou carré, et le nombre d'OL est décimal, inférieur alpha, haut-alpha, inférieur-romain ou haut-romain. 2. Supprimez complètement la balise avec la liste: aucun. 3. Utilisez la liste-image: URL ('Bullet.png') pour la remplacer par une image personnalisée. 4. Utilisez la position de style liste: dans

Comment implémenter un thème en mode sombre avec CSS Comment implémenter un thème en mode sombre avec CSS Aug 22, 2025 am 09:55 AM

Il existe deux façons principales d'implémenter le mode Dark: l'une consiste à utiliser les supports préfabriqués-color-scheme pour interroger automatiquement pour adapter les préférences du système, et l'autre consiste à ajouter une fonction de commutation manuelle via JavaScript. 1. Utilisez des préfers-color-schéma pour appliquer automatiquement les thèmes sombres en fonction du système utilisateur. Il n'y a pas besoin de JavaScript, définissez simplement les styles de la requête multimédia; 2. Pour réaliser une commutation manuelle, vous devez définir les classes de thèmes légers et de thems sombres, ajouter des boutons de basculement et utiliser JavaScript pour gérer l'état du thème et localStorage pour enregistrer les préférences des utilisateurs; 3. Vous pouvez combiner les deux pour lire d'abord localst lorsque la page est chargée.

Comment utiliser les gradients CSS pour les arrière-plans Comment utiliser les gradients CSS pour les arrière-plans Aug 17, 2025 am 08:39 AM

CssgradientProvidesMoothColOrTransitionwithOrtimages.1.LeargradientSitransitionColorsAlongastraightLinedDirectionsliketobottomorangleslike45deg, andsupportmultiplecolorstopsforculeo

Comment utiliser la grille-template-areas dans CSS Comment utiliser la grille-template-areas dans CSS Aug 22, 2025 am 07:56 AM

Thegrid-template-areaspropertyAllowsDevelowerStrocereIntuve, likellayoutsByDefiningNamedGridAreas; eorgostringrePresentsarowAndeachwordAcolumnCelll, withgrid-areamesonchildElementsMatterThoseIntheteemplate, tel "headerheader" for forwener "for forward" for for "for dhener" for for "for -Heder" for for "for-forwer" for for "for-forwer" for for "for dhener" pour

Comment changer le curseur dans CSS Comment changer le curseur dans CSS Aug 16, 2025 am 05:00 AM

Usebuilt-incursortypeylinpointer, aide, ornot-allowedtoprovideImmediaTvisualfeedBackforDiFferenterActiveElements.2.ApplyCustomCursorImages withthecursorpropertyusingaul

Comment coiffer les listes commandées et non ordonnées avec CSS Comment coiffer les listes commandées et non ordonnées avec CSS Aug 22, 2025 am 07:59 AM

CSSALLOWSFULLLCUSTUMISATION OFDORDEDEDUNDORDEDLISTERSTOENHANCEREDABILITÉ ET DESSIGNCORSTINGS

Comment ajouter une ombre de boîte dans CSS Comment ajouter une ombre de boîte dans CSS Aug 18, 2025 am 11:39 AM

Pour ajouter des ombres de boîte, utilisez l'attribut Box-Shadow; 1. La syntaxe de base est la boîte de box-shadow: Offset horizontal Offset Offset Blur Rayon Rayon d'extension Shadows en couleur; 2. Les trois premières valeurs sont requises, les autres sont facultatifs; 3. Utilisez rgba () ou hsla () pour atteindre un effet transparent; 4. Le rayon d'extension positif étend les ombres et la valeur négative est réduite; 5. Plusieurs ombres peuvent être ajoutées par séparation des virgules; 6. La surutilisation doit être évitée pour garantir que la visibilité est testée sur différents arrière-plans; Cet attribut est bien pris en charge par le navigateur, et une utilisation raisonnable peut améliorer la texture de conception.

See all articles