Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Menukar Imej Latar Belakang kepada Skala Kelabu Merentasi Pelayar Berbeza?

Bagaimana untuk Menukar Imej Latar Belakang kepada Skala Kelabu Merentasi Pelayar Berbeza?

DDD
Lepaskan: 2024-10-27 07:55:03
asal
354 orang telah melayarinya

How to Convert Background Images to Greyscale Across Different Browsers?

Cara Mencipta Imej Latar Belakang Skala Kelabu dengan CSS

Dalam era reka bentuk web yang rancak dan dinamik ini, kadangkala perlu menyepadukan sentuhan kesederhanaan yang halus. Satu cara untuk mencapai matlamat ini ialah dengan menukar imej latar belakang kepada skala kelabu, yang boleh memberikan estetika klasik atau vintaj kepada tapak web.

Penapis CSS3 Penyemak Imbas Merentas

Pendekatan paling mudah untuk skala kelabu latar belakang imej adalah untuk menggunakan skala kelabu penapis CSS3:

-webkit-filter: grayscale(100%);
Salin selepas log masuk

Walau bagaimanapun, teknik ini hanya berfungsi dalam Chrome v.15 dan Safari v.6 disebabkan oleh pengehadan keserasian penyemak imbas.

SVG Penyemak Imbas Merentas Penapis

Untuk mencapai kesan skala kelabu silang penyemak imbas, anda boleh menggunakan penapis SVG:

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

Penyelesaian ini berfungsi dalam kebanyakan penyemak imbas utama, termasuk Firefox, Chrome dan Edge.

Animasi jQuery

Jika anda ingin menogol kesan skala kelabu secara dinamik menggunakan JavaScript, anda boleh menggunakan jQuery:

$(".nongrayscale").hover(function () {
  $(this).addClass("grayscale").fadeTo(400, 1);
});
$(".grayscale").hover(function () {
  $(this).removeClass("grayscale").fadeTo(400, 1);
});
Salin selepas log masuk

Kod ini akan menambah kelas skala kelabu dan memudarkan imej apabila dituding di atas .

Keserasian IE10-11

Dalam Internet Explorer 10-11, teknik penapis SVG di atas tidak berfungsi. Sebaliknya, anda boleh menggunakan penapis nyahsaturasi:

<filter xmlns="http://www.w3.org/2000/svg" id="desaturate">
  <feColorMatrix type="saturate" values="0" />
</filter>
Salin selepas log masuk

Penapis ini boleh digunakan pada imej menggunakan atribut penapis.

Dengan menggunakan kaedah ini, anda boleh menukar imej latar belakang skala kelabu dengan mudah dalam CSS, menambahkan sentuhan abadi pada reka bentuk web anda sambil mengekalkan keserasian merentas pelayar.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Imej Latar Belakang kepada Skala Kelabu Merentasi Pelayar Berbeza?. 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