今回は6枚の画像レイアウトにfilter:blurとtranslate:scaleを効かせたCSSアニメーションを実装しました。
hoverしていない画像が透明化してぼかし効果がかかるように調整していて、画像一覧ページを実装する際にコピペでそのままお使いいただけるようになっています。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのエフェクトのコードはすべて完全オリジナルなのでコピペ大歓迎です。
この記事の目次
hoverで画像が浮き上がる画像一覧のCSSアニメーション
目次
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);
}
ここがポイント!
- box-shadowで奥行きをつけて立体感を演出
- filter:blurでhoverしていないボタンにぼかし効果がかかるように調整(filterの使い方については【filter完全網羅】hoverでボタンが動き出す!filterを網羅できるCSSボタンアニメーション15選)
- transform: scaleでボタンをhoverした時にhoverしていないボタンが縮小するように調整(transformの使い方については【transform完全網羅】hoverで動き出す!transformを網羅できるCSSボタンアニメーション16選)
- opacityでボタンをhoverした時にhoverしていないボタンが透過するように調整
- transitionで開始から終了までの十分な時間を設定し滑らかなアニメーションを実現
参考
そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!
未経験からWeb制作で月50万稼げるようになったUdemy教材3選
でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!
完全無料で一人前のエンジニアになれるプログラミングスクールあります