今回は画像にtransitionとfilter(grayscale contrast invert hue-rotate brightness sepia saturate) を指定して動かすCSShoverエフェクトを基礎から応用までご紹介します。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのデザイン・コードはすべて完全オリジナルなのでコピペ大歓迎です。
この記事の目次
目次
1. hoverすると白黒画像→コントラストの効いた画像に変化するfilterエフェクト
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- hover前・hover後のimgスタイルを用意
- hover前のimgにtransitionでエフェクトの速度調整・filter: contrast() grayscale()でコントラストと白黒の調整
- hover後のimgにも同じくfilter: contrast() grayscale()でコントラストと白黒の調整
- 今回はhover前:contrast(100%) grayscale(100%)、hover後:contrast(150%) grayscale(0)で白黒画像からコントラストの効いた画像に変化するエフェクトを実現
2. hoverすると白黒→温かみのある色に画像が変化するfilterエフェクト
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- hover前・hover後のimgスタイルを用意
- hover前のimgにtransitionでエフェクトの速度調整・filter: saturate()で彩度の調整
- hover後のimgにも同じくfilter: saturate()で彩度の調整
- 今回はhover前:saturate(0%)、hover後:saturate(200%)で温かみのあるエフェクトを実現
3. hoverするとセピア色で古い写真→新しい写真へと変化するfilterエフェクト
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- hover前・hover後のimgスタイルを用意
- hover前のimgにtransitionでエフェクトの速度調整・filter: sepia()でセピアの度合いを調整
- hover後のimgにも同じくfilter: sepia()でセピアの度合いを調整
- 今回はhover前:sepia(100%)、hover後:sepia(0%)と指定して古い写真→新しい写真に変化するエフェクトを実現
4. hoverすると色相回転で画像の色が鮮やかに変化するfilterエフェクト
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- hover前・hover後のimgスタイルを用意
- hover前のimgにtransitionでエフェクトの速度調整・filter: hue-rotate()で色相回転の度合い調整
- hover後のimgにも同じくfilter: hue-rotate()で色相回転の度合い調整
- 今回はhover前:hue-rotate(0)、hover後:hue-rotate(2880deg)と指定して色が鮮やかに変化するエフェクトを実現
5. クラブハウスにいるかのような躍動感を感じるfilterエフェクト(応用編)
動きは下の画像のような感じになります
実際の動きはこちら
コードはこちら
ここがポイント!
- hover前・hover後のimgスタイルを用意
- hover前のimgにtransitionでエフェクトの速度調整・filter: invert() hue-rotate() brightness()で階調反転・色相回転・明るさの調整
- hover後のimgにも同じくfilter: invert() hue-rotate() brightness()で階調反転・色相回転・明るさの調整
- 今回はhover前:filter: invert(25%) hue-rotate(0) brightness(80%)、hover後:filter: invert(0) hue-rotate(2880deg) brightness(110%)と指定することでクラブハウス感溢れるエフェクトを実現
参考
そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!
未経験からWeb制作で月50万稼げるようになったUdemy教材3選
でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!
完全無料で一人前のエンジニアになれるプログラミングスクールあります