」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 CSS 實現滑鼠懸停時的灰階和顏色恢復?

如何使用 CSS 實現滑鼠懸停時的灰階和顏色恢復?

發佈於2024-11-21
瀏覽:128

How to Achieve Grayscale with Color Restoration on Mouse-Over Using CSS?

使用CSS 在滑鼠懸停時進行灰階和顏色恢復

可以透過多種方法實現滑鼠懸停時進行顏色恢復的灰階外觀,在IE 和Firefox 中提供跨瀏覽器相容性。

方法1:純CSS(使用單一彩色影像)

此技術利用帶有供應商前綴的濾鏡屬性在所有支援的瀏覽器中對影像進行灰階化:

img.grayscale {
  filter: url("data:image/svg xml;utf8, ..."); /* Firefox 3.5  */
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(100%); /* Chrome 19 , Safari 6  */
}

img.grayscale:hover {
  filter: none;
  -webkit-filter: grayscale(0%);
}

方法 2:純 CSS(使用兩個圖像)

另一種方法涉及使用兩個圖像:灰階版本和彩色版本。最初顯示灰階影像,懸停狀態轉換為彩色影像:

img {
  transition: all .6s ease;
}

img:hover {
  opacity: 0;
}

.grayscale {
  opacity: 1;
}
如何使用 CSS 實現滑鼠懸停時的灰階和顏色恢復?
如何使用 CSS 實現滑鼠懸停時的灰階和顏色恢復?

方法3:CSS 濾鏡的SVG

對於IE10 和現代瀏覽器,內聯SVG 可以是用於應用濾鏡,允許動態控制灰階效果:

svg image {
  transition: all .6s ease;
}

svg image:hover {
  opacity: 0;
}

  
    
      
    
  
  
最新教學 更多>
  • 您如何在Laravel Blade模板中定義變量?
    您如何在Laravel Blade模板中定義變量?
    在Laravel Blade模板中使用Elegance 在blade模板中如何分配變量對於存儲以後使用的數據至關重要。在使用“ {{}}”分配變量的同時,它可能並不總是最優雅的解決方案。 幸運的是,Blade通過@php Directive提供了更優雅的方法: $ old_section =...
    程式設計 發佈於2025-04-12
  • MySQL中如何生成範圍內的隨機值?
    MySQL中如何生成範圍內的隨機值?
    在MySQL 中,在使用MySQL時,可能需要在某些情況下生成一個指定範圍內的隨機值。在存在rand()函數時,它無法滿足此要求。 This article delves into the best approach for achieving this in MySQL.Solution:The...
    程式設計 發佈於2025-04-12
  • 如何在Java的全屏獨家模式下處理用戶輸入?
    如何在Java的全屏獨家模式下處理用戶輸入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    程式設計 發佈於2025-04-12
  • 如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    如何將多種用戶類型(學生,老師和管理員)重定向到Firebase應用中的各自活動?
    Red: How to Redirect Multiple User Types to Respective ActivitiesUnderstanding the ProblemIn a Firebase-based voting app with three distinct user type...
    程式設計 發佈於2025-04-12
  • PostgreSQL中高效導出PL/pgSQL查詢結果到CSV文件的技巧
    PostgreSQL中高效導出PL/pgSQL查詢結果到CSV文件的技巧
    PostgreSQL中將PL/pgSQL輸出導出到CSV文件 簡介 將PostgreSQL中的數據導出到CSV文件是數據分析和進一步處理中的一項常見任務。本文探討了使用PL/pgSQL過程實現此目標的兩種方法: 服務器端方法 此方法利用PostgreSQL內置的COPY命令。它允許您將SQL結果集...
    程式設計 發佈於2025-04-12
  • 如何使用FormData()處理多個文件上傳?
    如何使用FormData()處理多個文件上傳?
    )處理多個文件輸入時,通常需要處理多個文件上傳時,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    程式設計 發佈於2025-04-12
  • 如何簡化PHP中的JSON解析以獲取多維陣列?
    如何簡化PHP中的JSON解析以獲取多維陣列?
    php 試圖在PHP中解析JSON數據的JSON可能具有挑戰性,尤其是在處理多維數組時。要簡化過程,建議將JSON作為數組而不是對象解析。 執行此操作,將JSON_DECODE函數與第二個參數設置為true:[&&&&& && &&&&& json = JSON = JSON_DECODE($ ...
    程式設計 發佈於2025-04-12
  • 為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    為什麼使用固定定位時,為什麼具有100%網格板柱的網格超越身體?
    網格超過身體,用100%grid-template-columns 為什麼在grid-template-colms中具有100%的顯示器,當位置設置為設置的位置時,grid-template-colly修復了? 問題: 考慮以下CSS和html: class =“ snippet-code”> ...
    程式設計 發佈於2025-04-12
  • 在程序退出之前,我需要在C ++中明確刪除堆的堆分配嗎?
    在程序退出之前,我需要在C ++中明確刪除堆的堆分配嗎?
    在C中的顯式刪除 在C中的動態內存分配時,開發人員通常會想知道是否需要手動調用“ delete”操作員在heap-exprogal exit exit上。本文深入研究了這個主題。 在C主函數中,使用了動態分配變量(HEAP內存)的指針。當應用程序退出時,此內存是否會自動發布?通常,是。但是,即使在...
    程式設計 發佈於2025-04-12
  • 在Windows中如何用C#編程控制應用程序音量?
    在Windows中如何用C#編程控制應用程序音量?
    利用Windows音量混合器控制應用程序音量 通過Windows核心音頻庫,尤其是在Windows 7及更高版本的操作系統上,可以輕鬆訪問和操作應用程序的音量級別。 代碼示例: 以下C#控制台應用程序代碼片段演示瞭如何通過音量混合器界面控制應用程序音量: using System; using ...
    程式設計 發佈於2025-04-12
  • 如何從Google API中檢索最新的jQuery庫?
    如何從Google API中檢索最新的jQuery庫?
    從Google APIS 問題中提供的jQuery URL是版本1.2.6。對於檢索最新版本,以前有一種使用特定版本編號的替代方法,它是使用以下語法:獲取最新版本:未壓縮)While these legacy URLs still remain in use, it is recommended ...
    程式設計 發佈於2025-04-12
  • JavaScript挑戰:Timer計時器實現攻略
    JavaScript挑戰:Timer計時器實現攻略
    您可以在repo github的这篇文章中找到所有代码。 异步编程计时器相关的挑战 与时间限制的缓存 类TimeLimitedCache { constructor(){ this._cache = new Map(); } set(键,值,持续...
    程式設計 發佈於2025-04-12
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-04-12
  • 如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    為有效的slug生成首先,該函數用指定的分隔符替換所有非字母或數字字符。此步驟可確保slug遵守URL慣例。隨後,它採用ICONV函數將文本簡化為us-ascii兼容格式,從而允許更廣泛的字符集合兼容性。 接下來,該函數使用正則表達式刪除了不需要的字符,例如特殊字符和空格。此步驟可確保slug僅包...
    程式設計 發佈於2025-04-12
  • 為什麼我的CSS背景圖像出現?
    為什麼我的CSS背景圖像出現?
    故障排除:CSS背景圖像未出現 ,您的背景圖像儘管遵循教程說明,但您的背景圖像仍未加載。圖像和样式表位於相同的目錄中,但背景仍然是空白的白色帆布。 而不是不棄用的,您已經使用了CSS樣式: bockent {背景:封閉圖像文件名:背景圖:url(nickcage.jpg); 如果您的html,cs...
    程式設計 發佈於2025-04-12

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3