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

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

Patricia Arquette
發布: 2024-10-26 08:39:02
原創
139 人瀏覽過

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

使用CSS 實現滑鼠懸停時顏色恢復的灰度化

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

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

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

<code class="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%);
}</code>
登入後複製

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

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

<code class="css">img {
  transition: all .6s ease;
}

img:hover {
  opacity: 0;
}

.grayscale {
  opacity: 1;
}</code>
登入後複製
<code class="html"><img class="grayscale" src="grayscale_image.jpg">
<img class="colored" src="colored_image.jpg"></code>
登入後複製

方法3:具有CSS 濾鏡的SVG

適用於IE10和現代瀏覽器一樣,內嵌SVG 可用於應用濾鏡,從而動態控制灰階效果:

<code class="css">svg image {
  transition: all .6s ease;
}

svg image:hover {
  opacity: 0;
}</code>
登入後複製
<code class="xml"><svg ...>
  <defs>
    <filter id="filtersPicture">
      <feColorMatrix type="saturate" values="0" />
    </filter>
  </defs>
  <image filter="url(#filtersPicture)" ... />
</svg></code>
登入後複製

以上是如何使用 CSS 實現滑鼠懸停時的灰階和顏色恢復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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