Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mencipta Kesan Skala Kelabu Silang Pelayar untuk Imej Latar Belakang CSS?

Bagaimana untuk Mencipta Kesan Skala Kelabu Silang Pelayar untuk Imej Latar Belakang CSS?

Barbara Streisand
Lepaskan: 2024-10-29 09:45:02
asal
896 orang telah melayarinya

How to Create Cross-Browser Grayscale Effects for CSS Background Images?

Skala Kelabu Penyemak Imbas Merentas untuk Imej Latar Belakang CSS

Imej latar belakang boleh menambah kedalaman dan minat visual pada halaman web, tetapi kadangkala ia wajar untuk dipersembahkan mereka dalam format nyah tepu atau skala kelabu. Walaupun penapis CSS3: grayscale() boleh mencapai kesan ini dalam pelayar moden seperti Chrome dan Safari, ia tidak mempunyai sokongan dalam versi terdahulu. Untuk mengatasi had ini, penyelesaian merentas penyemak imbas diperlukan.

Filter Fallback:

Satu pendekatan ialah menggunakan penapis: url() property dengan SVG sebaris penapis yang mentakrifkan penukaran skala kelabu. Teknik ini berfungsi pada kebanyakan penyemak imbas, termasuk Firefox, IE dan Edge:

<code class="css">.grayscale {
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
}</code>
Salin selepas log masuk

Penapis SVG yang disediakan mentakrifkan matriks warna yang menukarkan setiap saluran warna kepada 33.33% daripada nilai asalnya, dengan berkesan menghasilkan kesan skala kelabu .

Togol jQuery:

Jika penukaran skala kelabu dinamik diingini, jQuery boleh dimanfaatkan untuk menggunakan dan mengalih keluar penapis skala kelabu pada acara alih tetikus dan keluar tetikus:

$(document).ready(function () { $("#image").mouseover(function () { $(".nongrayscale").removeClass().fadeTo(400, 0.8).addClass("grayscale").fadeTo(400, 1); }); $("#image").mouseout(function () { $(".grayscale").removeClass().fadeTo(400, 0.8).addClass("nongrayscale").fadeTo(400, 1); }); });<p></p>Kaedah ini menukar imej kepada skala kelabu dengan menetapkan nilai tepu matriks warna kepada 0.<p></p>

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Kesan Skala Kelabu Silang Pelayar untuk Imej Latar Belakang 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan