如何為CSS背景圖片建立跨瀏覽器灰階效果?
CSS 背景圖像的跨瀏覽器灰度
背景圖像可以增加網頁的深度和視覺興趣,但有時需要呈現它們採用去飽和或灰階格式。雖然CSS3的filter:grayscale()屬性可以在Chrome和Safari等現代瀏覽器中實現這種效果,但它在早期版本中缺乏支援。為了克服這個限制,需要一個跨瀏覽器的解決方案。
過濾器回退:
一種方法是使用過濾器:帶有內聯 SVG 的 url() 屬性定義灰階轉換的過濾器。此技術適用於大多數瀏覽器,包括Firefox、IE 和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>
登入後複製
提供的SVG 濾鏡定義了一個顏色矩陣,可將每個顏色通道轉換為其原始值的33.33% ,有效地創建灰階效果.
jQuery 切換:
如果需要動態灰階切換,可以利用jQuery 在滑鼠懸停和滑鼠移開事件上應用和刪除灰階濾鏡:
<code class="javascript">$(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); }); });</code>
登入後複製
此腳本透過平滑的淡入和淡出動畫切換影像上的灰階效果。
SVG 去飽和:
最近IE (10-11) 版本中,由於 SVG 實現的變化,上述解決方案可能不起作用。對於這些瀏覽器,可以使用另一種基於 SVG 的方法來降低影像的飽和度:
<code class="html"><svg> <defs> <filter xmlns="http://www.w3.org/2000/svg" id="desaturate"> <feColorMatrix type="saturate" values="0" /> </filter> </defs> <image xlink:href="your_image.jpg" width="600" height="600" filter="url(#desaturate)" /> </svg></code>
登入後複製
此方法透過將顏色矩陣的飽和度值設為 0 將影像轉換為灰階。
以上是如何為CSS背景圖片建立跨瀏覽器灰階效果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
4 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前
By DDD
在哪裡可以找到Atomfall中的站點辦公室鑰匙
4 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...
