【レスポンシブ対応】transform scaleとfilterでCSS画像一覧アニメーション4選

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

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

 

1. transform scaleとfilter grayscaleでオシャレな画像一覧アニメーション

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

実際の動きはこちら
コードを見る
<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);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
  /* 白黒度合いの調整 */
  filter: grayscale(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を調整
  5. hover前後のfilter: grayscale(白黒度合い)を調整することで画像を強調
  6. transitionで滑らかなアニメーションを実現

 

2. 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: grayscale(.5) 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 {
  /* hover前の画像のぼやけ度合いを調整 */
  filter: blur(3px);
  /* アニメーション速度を調整 */
  transition: .3s;
  width:100%;
  height: 100%;
}
.pic img:hover {
  /* hover後の画像のぼやけ度合いを調整 */
  filter: blur(0);
  /* アニメーション速度を調整 */
  transition: .5s;
}
/* 各画像のサイズ・配置・アニメーション速度を指定 */
.pic{
  float: left;
  margin:0%;
  width:29%;
  height:30%;
  /* hover後のアニメーション速度 */
  transition:.2s all;
}
ここがポイント!
  1. 画像を複数用意し中央に配置する
  2. 各々のwidth, heightを%表記としレスポンシブ対応
  3. hover前後のtransform: scaleを調整することで画像が拡大
  4. hover前後のopacityを調整
  5. hover前後のfilter: grayscale(白黒度合い) saturate(彩度) blur(ぼやけ度合い)を調整することで画像を強調
  6. transitionで滑らかなアニメーションを実現

 

3. transform scaleとfilter hue-rotateで色相回転する画像一覧アニメーション

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

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

 

4. transform scaleとfilter grayscale saturate contrast brightnessで輝く画像一覧アニメーション

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

実際の動きはこちら
コードを見る
<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%) contrast(80%) brightness(80%);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
  /* 白黒度合い・彩度・コントラスト・明るさの調整 */
  filter: grayscale(0) saturate(200%) contrast(120%) brightness(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を調整
  5. hover前後のfilter: grayscale(白黒度合い) saturate(彩度) contrast(コントラスト) brightness(明るさ)を調整することで画像を強調
  6. transitionで滑らかなアニメーションを実現

参考

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

ふたご


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

ふたご

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

 

   話だけ聞いてみる