「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > CSSを使用してマウスオーバー時に色を復元してグレースケールを実現するにはどうすればよいですか?

CSSを使用してマウスオーバー時に色を復元してグレースケールを実現するにはどうすればよいですか?

2024 年 11 月 21 日に公開
ブラウズ:631

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 (2 つの画像を使用)

もう 1 つのアプローチでは、グレースケール バージョンとカラー バージョンの 2 つの画像を使用します。最初はグレースケール画像が表示され、ホバー状態はカラー画像に移行します。

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;
}

  
    
      
    
  
  
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3