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

Susan Sarandon
Lepaskan: 2024-10-27 02:35:02
asal
943 orang telah melayarinya

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

Skala Kelabu Imej dengan CSS & Warna Semula pada Tetikus-Over

Anda boleh mencapai skala kelabu imej dengan CSS dan warna semula pada tetikus- menggunakan beberapa kaedah. Berikut ialah gambaran keseluruhan:

CSS Tulen (Menggunakan Imej Berwarna Tunggal)

Gunakan penapis CSS untuk menukar imej kepada skala kelabu dan mengalih keluar kesan pada tetikus:

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

img.grayscale:hover {
  filter: none;
}</code>
Salin selepas log masuk

Gabungan CSS dan JavaScript

Buat imej skala kelabu dan imej berwarna, dan togol keterlihatannya pada acara masuk tetikus dan keluar tetikus:

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

img.colored {
  opacity: 0;
}</code>
Salin selepas log masuk
<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>
Salin selepas log masuk

Menggunakan Penapis SVG (IE10 Sahaja)

Gunakan SVG sebaris dengan penapis untuk menggunakan kesan tepu dan menukarnya pada tetikus:

<code class="html"><svg>
  <defs>
    <filter id="grayscale">
      <feColorMatrix type="saturate" values="0" />
    </filter>
  </defs>
  <image filter="url(#grayscale)" ... />
</svg></code>
Salin selepas log masuk

Dengan melaraskan nilai tepu, anda boleh mengawal tahap skala kelabu. Kaedah ini disokong dalam IE10 dan lebih tinggi.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta imej skala kelabu dengan CSS yang mewarna semula pada tetikus?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!