今回は【CSSだけ】hoverで直感的な画像拡大アニメーションの作成方法をご紹介。エフェクトがついてます。簡単です。動きます。オシャレな画像一覧を作れます。レスポンシブ対応。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのアニメーション/エフェクトのコードはすべて完全オリジナルなのでコピペ大歓迎です。
この記事の目次
【CSSだけ】hoverで直感的な画像拡大アニメーションの作成方法
目次
【CSSだけ】hoverで直感的な画像拡大アニメーションの作成方法
アニメーション動作の確認
動きは下の画像のような感じになります
実際の動きはこちら
コードの確認
<div class="do-animation pic-background">
<!-- 画像を複数用意 -->
<div class="pic">
<img src="https://source.unsplash.com/1000x800" >
</div>
<div class="pic">
<img src="https://source.unsplash.com/1000x801" >
</div>
<div class="pic">
<img src="https://source.unsplash.com/1000x802" >
</div>
<div class="pic">
<img src="https://source.unsplash.com/1000x803" >
</div>
<div class="pic">
<img src="https://source.unsplash.com/1000x804" >
</div>
<div class="pic">
<img src="https://source.unsplash.com/1000x805" >
</div>
</div>
/* hover後の画像一覧のアニメーション指定 */
.do-animation:hover > * {
/* 不透明度の調整 */
opacity: 0.4;
/* 画像の拡大調整 */
transform: scale(0.7);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
/* 画像の拡大調整 */
opacity: 1;
/* 画像の拡大調整 */
transform: scale(1.2);
}
/* 画像一覧を中央に配置 */
.pic-background{
align-items:center;
justify-content:center;
margin-left: 55px;
margin-top: 10px;
width:100%;
}
.pic img {
width:100%;
height: 100%;
}
/* 各画像のサイズ・配置・アニメーション速度を指定 */
.pic{
float: left;
margin:0%;
background:white;
width:29%;
height:30%;
/* hover後のアニメーション速度 */
transition:.2s all;
}
ここがポイント!
- 画像を複数用意し中央に配置する
- 各々のwidth, heightを%表記としレスポンシブ対応
- hover前後のtransform: scaleを調整することで画像が急拡大
- hover前後のopacityを調整しhoverされた画像のみを強調
- transitionで滑らかなアニメーションを実現
参考
そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!
未経験からWeb制作で月50万稼げるようになったUdemy教材3選
でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!
完全無料で一人前のエンジニアになれるプログラミングスクールあります