Maison > interface Web > tutoriel CSS > le corps du texte

Comment puis-je créer une image en niveaux de gris avec CSS qui se recolore au survol de la souris ?

Susan Sarandon
Libérer: 2024-10-27 02:35:02
original
943 Les gens l'ont consulté

How can I create a grayscale image with CSS that re-colors on mouse-over?

Niveaux de gris d'image avec CSS et recoloration au survol de la souris

Vous pouvez obtenir des niveaux de gris d'image avec CSS et recolorer au passage de la souris en utilisant plusieurs méthodes. Voici un aperçu :

CSS pur (utilisation d'une image d'une seule couleur)

Utilisez des filtres CSS pour convertir l'image en niveaux de gris et supprimer l'effet au survol de la souris :

<code class="css">img.grayscale {
  filter: grayscale(100%);
}

img.grayscale:hover {
  filter: none;
}</code>
Copier après la connexion

Combinaison de CSS et JavaScript

Créez une image en niveaux de gris et une image colorée, et activez leur visibilité lors des événements d'entrée et de sortie de la souris :

<code class="css">img.grayscale {
  opacity: 1;
}

img.colored {
  opacity: 0;
}</code>
Copier après la connexion
<code class="js">document.querySelector('img').addEventListener('mouseover', () => {
  document.querySelector('img.colored').style.opacity = 1;
  document.querySelector('img.grayscale').style.opacity = 0;
});

document.querySelector('img').addEventListener('mouseout', () => {
  document.querySelector('img.colored').style.opacity = 0;
  document.querySelector('img.grayscale').style.opacity = 1;
});</code>
Copier après la connexion

Utilisation de filtres SVG (IE10 uniquement)

Utilisez SVG en ligne avec des filtres pour appliquer un effet de saturation et modifiez-le au survol de la souris :

<code class="html"><svg>
  <defs>
    <filter id="grayscale">
      <feColorMatrix type="saturate" values="0" />
    </filter>
  </defs>
  <image filter="url(#grayscale)" ... />
</svg></code>
Copier après la connexion

En ajustant la valeur de saturation, vous pouvez contrôler le niveau de niveaux de gris. Cette méthode est prise en charge dans IE10 et versions ultérieures.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!