【画面中央に複数配置】transform scaleで動くCSS画像アニメーション4選(レスポンシブ)

今回は【画面中央に複数配置】transform scaleで動くCSS画像アニメーション4選(レスポンシブ)をご紹介。シンプルかつ洗練されたデザイン。それぞれ違うエフェクト。実務で使える。ポートフォリオにも最適。コピペOK。HTML, CSSだけ
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。詳しい説明付き

こちらのデザイン・コードはすべて完全オリジナルなのでコピペ大歓迎です。

 

1. transform scaleとopacityでシンプルな画像一覧アニメーション

動きは下の画像のような感じになります

実際の動きはこちら
コードを見る
<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.9);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
  /* 画像の拡大調整 */
  opacity: 1;
  /* 画像の拡大調整 */
  transform: scale(1);
}
/* 画像一覧を中央に配置 */
.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;
}
ここがポイント!
  1. 画像を複数用意し中央に配置する
  2. 各々のwidth, heightを%表記としレスポンシブ対応
  3. hover前後のtransform: scaleを調整することで画像が拡大
  4. hover前後のopacityを調整しhoverされた画像のみを強調
  5. transitionで滑らかなアニメーションを実現

 

2. hoverした画像がtransform scaleで急拡大する画像一覧アニメーション

動きは下の画像のような感じになります

実際の動きはこちら
コードを見る
<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.25);
}
/* 画像一覧を中央に配置 */
.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%;
  width:29%;
  height:30%;
  /* hover後のアニメーション速度 */
  transition:.2s all;
}
ここがポイント!
  1. 画像を複数用意し中央に配置する
  2. 各々のwidth, heightを%表記としレスポンシブ対応
  3. hover前後のtransform: scaleを調整することで画像が拡大
  4. hover前後のopacityを調整しhoverされた画像のみを強調
  5. transitionで滑らかなアニメーションを実現

 

3. transform scaleとfilter blurでぼやける画像一覧アニメーション

動きは下の画像のような感じになります

実際の動きはこちら
コードを見る
<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: .9;
  /* 画像の拡大調整 */
  transform: scale(.9);
  /* ぼやけ度合いの調整 */
  filter: blur(3px);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
  /* ぼやけ度合いの調整 */
  filter: blur(0);
  /* 不透明度の調整 */
  opacity: 1;
  /* 画像の拡大調整 */
  transform: scale(1);
}
/* 画像一覧を中央に配置 */
.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%;
  width:29%;
  height:30%;
  /* hover後のアニメーション速度 */
  transition:.2s all;
}
ここがポイント!
  1. 画像を複数用意し中央に配置する
  2. 各々のwidth, heightを%表記としレスポンシブ対応
  3. hover前後のtransform: scaleを調整することで画像が拡大
  4. hover前後のopacityとfilter(blur)を調整しhoverされた画像のみを強調
  5. transitionで滑らかなアニメーションを実現

 

4. transform scaleとfilter grayscale saturateで美しい画像一覧アニメーション

動きは下の画像のような感じになります

実際の動きはこちら
コードを見る
<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: .9;
  /* 画像の拡大調整 */
  transform: scale(.9);
  /* 白黒度合い・彩度の調整 */
  filter: grayscale(1) saturate(100%);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
  /* 白黒度合い・彩度の調整 */
  filter: grayscale(0) saturate(150%);
  /* 不透明度の調整 */
  opacity: 1;
  /* 画像の拡大調整 */
  transform: scale(1);
}
/* 画像一覧を中央に配置 */
.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%;
  width:29%;
  height:30%;
  /* hover後のアニメーション速度 */
  transition:.2s all;
}
ここがポイント!
  1. 画像を複数用意し中央に配置する
  2. 各々のwidth, heightを%表記としレスポンシブ対応
  3. hover前後のtransform: scaleを調整することで画像が拡大
  4. hover前後のopacityとfilter(grayscale, saturate)を調整しhoverされた画像のみを強調
  5. transitionで滑らかなアニメーションを実現

参考

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

ふたご


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

ふたご

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

 

   話だけ聞いてみる