hoverで画像が浮き出る!filter&scale効果100%のCSSアニメーション【解説あり】

今回は6枚の画像レイアウトにfilter:blurtranslate:scaleを効かせたCSSアニメーションを実装しました。

hoverしていない画像が透明化してぼかし効果がかかるように調整していて、画像一覧ページを実装する際にコピペでそのままお使いいただけるようになっています。

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

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

 

この記事の目次

hoverで画像が浮き上がる画像一覧のCSSアニメーション

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

 

1. hoverするとfilter&scale効果で画像が浮き出る洗練されたCSSレイアウト

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

実際の動きはこちら

 

コードの確認

 

<div class="pic-background">
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x802" fluid alt="Fluid image"></b-img>
  </div>
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x801" fluid alt="Fluid image"></b-img>
  </div>
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x800" fluid alt="Fluid image"></b-img>
  </div>
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x803" fluid alt="Fluid image"></b-img>
  </div>
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x804" fluid alt="Fluid image"></b-img>
  </div>
  <div class="pic">
    <b-img src="https://source.unsplash.com/1000x805" fluid alt="Fluid image"></b-img>
  </div>
</div>
body{
  background:#f1f1f1;
  font-family: 'Inconsolata', monospace;
  font-weight:bold;
  color:gray;
  text-align:center;
  -webkit-font-smoothing: antialiased;
}
.pic-background{
  align-items:center;
  justify-content:center;
  margin-left: 50px;
  margin-top: 50px;
  width:100%;
}
/* 画像自体の調整 */
.pic img {
  width:100%;
  height: 100%;
}
/* 画像の外枠の調整 */
.pic{
  float: left;
  margin:0%;
  background:white;
  width:29%;
  height:250px;
  border:1px solid #d6d6d6;
  box-shadow:0 2px 3px 0px rgba(0,0,0,0.25);
  /* ボックスに影をつける(左から水平方向の長さ、垂直方向の長さ、ぼかしの長さ、ぼかしの広さ、色) */
  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.  box-shadowで奥行きをつけて立体感を演出
  2. filter:blurでhoverしていないボタンにぼかし効果がかかるように調整(filterの使い方については【filter完全網羅】hoverでボタンが動き出す!filterを網羅できるCSSボタンアニメーション15選)
  3. transform: scaleでボタンをhoverした時にhoverしていないボタンが縮小するように調整(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
  4. opacityでボタンをhoverした時にhoverしていないボタンが透過するように調整
  5.  transitionで開始から終了までの十分な時間を設定し滑らかなアニメーションを実現

参考

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

ふたご


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

ふたご

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

 

   話だけ聞いてみる