Rumah > hujung hadapan web > tutorial css > Bagaimanakah saya boleh mencipta imej skala kelabu yang mewarna semula pada tetikus menggunakan CSS?

Bagaimanakah saya boleh mencipta imej skala kelabu yang mewarna semula pada tetikus menggunakan CSS?

DDD
Lepaskan: 2024-10-27 05:42:29
asal
337 orang telah melayarinya

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

Skala Kelabu Imej dengan CSS & Amp; Warna semula pada Mouse-over

Dalam siaran ini, kami akan meneroka cara mencapai kesan ini dan menyediakan keserasian merentas penyemak imbas.

CSS Tulen (Menggunakan hanya satu imej berwarna)

Untuk kaedah pertama, kami menggunakan CSS tulen dan hanya satu imej:

<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>
Salin selepas log masuk

Menggunakan SVG

Kaedah ini menggunakan SVG sebaris untuk mencipta kesan skala kelabu dan imej berasingan untuk versi warna:

<code class="css">img.grayscale {
  -webkit-filter: grayscale(100%);
}</code>
Salin selepas log masuk
<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>
Salin selepas log masuk

JavaScript

Akhir sekali, kita boleh menggunakan JavaScript untuk menukar sumber imej pada tuding:

<code class="css">img.grayscale {
  filter: grayscale(100%);
}</code>
Salin selepas log masuk
<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>
Salin selepas log masuk

Ini kaedah menyediakan keserasian merentas pelayar dan membolehkan anda menambah kesan skala kelabu dan tuding pada imej anda dengan mudah.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta imej skala kelabu yang mewarna semula pada tetikus menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan