首頁 > web前端 > css教學 > 主體

如何用CSS實現滑鼠懸停時的灰階圖轉換,同時確保相容IE和Firefox?

Barbara Streisand
發布: 2024-10-26 13:42:32
原創
119 人瀏覽過

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

使用CSS 對鼠標懸停時的圖像進行灰度化和重新著色

挑戰:將彩色圖示轉換為灰階並恢復當滑鼠懸停在其上時,它會變色,確保與IE 和Firefox 相容。

解決方案:

1.純CSS(使用單色影像):

此方法利用CSS過濾器將影像轉換為灰階。 filter 屬性應用於灰階的 img 元素。

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>
登入後複製

2. CSS 與SVG(帶內聯SVG):

IE10 支援內聯SVG,從而提供更簡潔的解決方案。 SVG 影像使用 feColorMatrix 元素進行過濾,並透過將飽和度值設為 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>
登入後複製

以上是如何用CSS實現滑鼠懸停時的灰階圖轉換,同時確保相容IE和Firefox?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!