Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mithilfe von CSS ein Graustufenbild erstellen, das sich beim Mouseover neu einfärbt?

Wie kann ich mithilfe von CSS ein Graustufenbild erstellen, das sich beim Mouseover neu einfärbt?

DDD
Freigeben: 2024-10-27 05:42:29
Original
305 Leute haben es durchsucht

How can I create a grayscale image that recolors on mouse-over using CSS?

Bild-Graustufen mit CSS & Amp; Bei Mausbewegung neu einfärben

In diesem Beitrag untersuchen wir, wie Sie diesen Effekt erzielen und browserübergreifende Kompatibilität gewährleisten können.

Reines CSS (Nur ein farbiges Bild verwenden)

Für die erste Methode verwenden wir reines CSS und nur ein Bild:

<code class="css">img.grayscale {
  filter: url("data:image/svg+xml;utf8,..."); /* Firefox 3.5+ */
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
}

img.grayscale:hover {
  filter: none;
  -webkit-filter: grayscale(0%);
}</code>
Nach dem Login kopieren

Verwendung von SVG

Diese Methode verwendet Inline-SVG, um den Graustufeneffekt und ein separates Bild dafür zu erstellen die Farbversion:

<code class="css">img.grayscale {
  -webkit-filter: grayscale(100%);
}</code>
Nach dem Login kopieren
<code class="html"><svg xmlns="http://www.w3.org/2000/svg" id="svgroot" viewBox="0 0 400 377" width="400" height="377">
  ...
  <image filter="url(&quot;#filtersPicture&quot;)" ... />
   </svg></code>
Nach dem Login kopieren

JavaScript

Schließlich können wir JavaScript verwenden, um die Bildquelle beim Schweben zu ändern:

<code class="css">img.grayscale {
  filter: grayscale(100%);
}</code>
Nach dem Login kopieren
<code class="js">const grayscaleImages = document.querySelectorAll('.grayscale');

grayscaleImages.forEach(image => {
  image.addEventListener('mouseover', () => {
    image.src = 'path/to/color_image.jpg';
  });

  image.addEventListener('mouseout', () => {
    image.src = 'path/to/grayscale_image.jpg';
  });
});</code>
Nach dem Login kopieren

Diese Methoden bieten browserübergreifende Kompatibilität und ermöglichen Ihnen das einfache Hinzufügen von Graustufen- und Hover-Effekten zu Ihren Bildern.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von CSS ein Graustufenbild erstellen, das sich beim Mouseover neu einfärbt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage