Bagaimana untuk mencapai transformasi imej skala kelabu pada hover tetikus dengan CSS, memastikan keserasian dengan IE dan Firefox?

Barbara Streisand
Lepaskan: 2024-10-26 13:42:32
asal
120 orang telah melayarinya

How to achieve grayscale image transformation on mouse hover with CSS, ensuring compatibility with IE and Firefox?

Skala Kelabu dan Warnakan Semula Imej pada Tuding Tetikus dengan CSS

Cabaran: Ubah ikon berwarna kepada skala kelabu dan kembalikan ia berwarna apabila tetikus melayang di atasnya, memastikan keserasian dengan kedua-dua IE dan Firefox.

Penyelesaian:

1. CSS Tulen (Menggunakan Imej Satu Warna):

Pendekatan ini menggunakan penapis CSS untuk menukar imej kepada skala kelabu. Sifat penapis digunakan pada elemen img dengan skala kelabu kelas.

CSS:

<code class="css">img.grayscale {
  filter: url("data:image/svg+xml;utf8,"); /* Firefox 3.5+, IE10 */
  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

2. CSS dan SVG (dengan SVG Sebaris):

IE10 menyokong SVG sebaris, membolehkan penyelesaian yang lebih bersih. Imej SVG ditapis menggunakan elemen feColorMatrix dan kesan skala kelabu digunakan dengan menetapkan nilai tepu kepada 0.

HTML:

<code class="html"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 377" width="400" height="377">
  <defs>
    <filter id="filtersPicture">
      <feComposite result="inputTo_38" in="SourceGraphic" in2="SourceGraphic" operator="arithmetic" k1="0" k2="1" k3="0" k4="0" />
      <feColorMatrix id="filter_38" type="saturate" values="0" data-filterid="38" />
    </filter>
  </defs>
  <image filter="url(#filtersPicture)" x="0" y="0" width="400" height="377" xlink:href="image.jpg" />
</svg></code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mencapai transformasi imej skala kelabu pada hover tetikus dengan CSS, memastikan keserasian dengan IE dan Firefox?. 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!