hoverで車窓のようなデザインの画像がクッキリと浮き出るCSSアニメーション【解説付き】

今回は車窓のようなデザインの画像レイアウトにhoverでblur(ぼかし)とopacity(透明度)がかかるアニメーションを実装しました。

display:flexを使用して画面のど真ん中に設置されるように調整しています。

htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。

こちらのエフェクトのコードはすべて完全オリジナルなのでコピペ大歓迎です。

 

この記事の目次

車窓デザインの画像がhoverでクッキリ現れるCSSアニメーションレイアウト

  1. エフェクトの確認
  2. コードの確認
  3. このエフェクトのポイント!

 

1. hoverすると画像がぼかし効果でクッキリ浮き出るアニメーションレイアウト

下の画像のような3D画像になります

実際の動きはこちら

 

コードの確認

 

<div class="pic-background">
  <div class="pic">
    <img src="https://source.unsplash.com/1000x802">
  </div>
  <div class="pic">
    <img src="https://source.unsplash.com/1000x801">
  </div>
  <div class="pic">
    <img src="https://source.unsplash.com/1000x800">
  </div>
</div>
body{
  background:#f1f1f1;
  font-family: 'Inconsolata', monospace;
  font-weight:bold;
  color:gray;
  text-align:center;
  -webkit-font-smoothing: antialiased;
}
.pic-background{
  /* flexboxでcontainerの中身をど真ん中に設置 */
  display:flex;
  align-items:center;
  justify-content:center;
}
/* 画像自体の調整 */
.pic img {
  width:100%;
  height:35vh;
  border-radius: 3em;
}
/* 画像の外枠の調整 */
.pic{
  padding:10px;
  margin:1%;
  background:white;
  width:29%;
  border:1px solid #d6d6d6;
  box-shadow:0 2px 3px 0px rgba(0,0,0,0.25);
  /* ボックスに影をつける(左から水平方向の長さ、垂直方向の長さ、ぼかしの長さ、ぼかしの広さ、色) */
  border-radius:3em;
  /* ボーダーにradiusで丸みをつける */
  transition: 0.3s;
  /* スライド時にかかる時間を0.3秒に指定 */
}
.pic-background:hover .pic{
  filter:blur(3px);
  /* hover前:filterプロパティの「ぼかし」を調整 */
  opacity:.5;
  /* 透明度を調整 */
  transform: scale(.98);
  /* 収縮率を指定 */
  box-shadow:none;
}
.pic-background:hover .pic:hover{
  transform:scale(1);
  /* 収縮率を指定 */
  filter:blur(0px);
  /* hover後:filterプロパティの「ぼかし」を調整 */
  opacity:1;
  /* 透明度を調整 */
  box-shadow:0 8px 20px 0px rgba(0,0,0,0.125);
}
ここがポイント!
  1.  display:flex;でど真ん中に設置
  2.  box-shadowで奥行きをつけて立体感を演出
  3. filter:blurで画像をhoverした時にhoverしていない画像にぼかしがかかるように調整(filterの使い方については【filter完全網羅】hoverでボタンが動き出す!filterを網羅できるCSSボタンアニメーション15選)
  4. transform: scaleで画像をhoverした時にhoverしていない画像が縮小するように調整(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
  5. opacityで画像をhoverした時にhoverしていない画像が透過するように調整
  6.  transitionで開始から終了までの十分な時間を設定し滑らかなアニメーションを実現
  7. widthとheightを調整しレイアウトを整えた

参考

そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!

ふたご


でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!

ふたご

完全無料で一人前のエンジニアになれるプログラミングスクールあります
  1. プログラミング学習&サポートが無料!
  2. 誰もが知っている超優良企業への就職サポート付き!
  3. 学習言語:Java、PHP、HTML、CSSなど

 

   話だけ聞いてみる