AI(ChatGPT)を使って半自動で月5万稼ぐ?
実際にやってみて結果・・ >>

transform:scale×hover×CSS画像アニメーション3選【完全オリジナル】

今回は【完全オリジナル】transform:scale×hover×CSS画像アニメーション3選をご紹介。シンプルかつ洗練されたデザイン。filterプロパティでエフェクト。hoverアニメーションで画像が拡大縮小する。Web制作で使える。コピペOK。HTML, CSSだけ

動きを見ていただければ使いたくなること間違いなしです!

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

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

 

1. transform scale×hoverで【横に拡大縮小】CSS画像アニメーション

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

コードを見る
  <div class="images">
    <div class="image">
      <img src="https://images.unsplash.com/photo-1519221739757-4df89b4d0efe?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80">
    </div>
  </div>
.images {
  /* 子要素を横並びに配置する */
  display: flex;
  align-items: center;
  margin: auto;
  width: 50%;
  height: 50vh;
}
.image {
  /* はみ出す箇所を隠す */
  overflow: hidden;
  /* 画像が伸縮せずに滑らかに表示されるように指定 */
  object-fit: cover;
  /* 文字の高さを指定 */
  line-height: 0;
}
.image > img {
  /* デフォルトでの画像のズーム率を指定 */
  width: 100%;
  /* imgをimageの枠にトリミングしてはめ込む */
  object-fit: cover;
  /* アニメーション速度を指定 */
  transition: .8s;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(0) saturate(250%) brightness(130%) contrast(120%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleX(1);
}
.image:hover > img {
  width: 100%;
  height: 100%;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(1) saturate(100%) brightness(100%) contrast(100%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleX(0);
  /* アニメーション速度を指定 */
  transition: .8s;
}
ここがポイント!
  1. flexboxとmargin: auto;でど真ん中に設置
  2. overflow: hiddenで枠に収まらないサイズの要素は隠す
  3. box-shadowで奥行きをつけて立体感を演出
  4. object-fit: coverで画像が伸縮せずに滑らかに表示されるように指定
  5. transform scaleで拡大縮小の調整
  6. transitionでhoverするとアニメーションを実現

 

2. transform scale×hoverで【縦に拡大縮小】CSS画像アニメーション

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

コードを見る
  <div class="images">
    <div class="image">
      <img src="https://images.unsplash.com/photo-1519221739757-4df89b4d0efe?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80">
    </div>
  </div>
.images {
  /* 子要素を横並びに配置する */
  display: flex;
  align-items: center;
  margin: auto;
  width: 50%;
  height: 50vh;
}
.image {
  /* はみ出す箇所を隠す */
  overflow: hidden;
  /* 画像が伸縮せずに滑らかに表示されるように指定 */
  object-fit: cover;
  /* 文字の高さを指定 */
  line-height: 0;
}
.image > img {
  /* デフォルトでの画像のズーム率を指定 */
  width: 100%;
  /* imgをimageの枠にトリミングしてはめ込む */
  object-fit: cover;
  /* アニメーション速度を指定 */
  transition: .8s;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(0) saturate(250%) brightness(130%) contrast(120%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleY(1);
}
.image:hover > img {
  width: 100%;
  height: 100%;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(1) saturate(100%) brightness(100%) contrast(100%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleY(0);
  /* アニメーション速度を指定 */
  transition: .8s;
}
ここがポイント!
  1. flexboxとmargin: auto;でど真ん中に設置
  2. overflow: hiddenで枠に収まらないサイズの要素は隠す
  3. box-shadowで奥行きをつけて立体感を演出
  4. object-fit: coverで画像が伸縮せずに滑らかに表示されるように指定
  5. transform scaleで拡大縮小の調整
  6. transitionでhoverするとアニメーションを実現

 

3. transform scale×hoverで【3D拡大縮小】CSS画像アニメーション

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

コードを見る
  <div class="images">
    <div class="image">
      <img src="https://images.unsplash.com/photo-1519221739757-4df89b4d0efe?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1650&q=80">
    </div>
  </div>
.images {
  /* 子要素を横並びに配置する */
  display: flex;
  align-items: center;
  margin: auto;
  width: 50%;
  height: 50vh;
}
.image {
  /* はみ出す箇所を隠す */
  overflow: hidden;
  /* 画像が伸縮せずに滑らかに表示されるように指定 */
  object-fit: cover;
  /* 文字の高さを指定 */
  line-height: 0;
}
.image > img {
  /* デフォルトでの画像のズーム率を指定 */
  width: 100%;
  /* imgをimageの枠にトリミングしてはめ込む */
  object-fit: cover;
  /* アニメーション速度を指定 */
  transition: .8s;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(0) saturate(250%) brightness(130%) contrast(120%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleX(1) scaleY(1);
}
.image:hover > img {
  width: 100%;
  height: 100%;
  /* フィルタープロパティで白黒度合い・彩度・明るさ・コントラストを調整 */
  filter: grayscale(1) saturate(100%) brightness(100%) contrast(100%);
  /* 拡大・縮小度合いを調整 */
  transform: scaleX(0) scaleY(0);
  /* アニメーション速度を指定 */
  transition: .8s;
}
ここがポイント!
  1. flexboxとmargin: auto;でど真ん中に設置
  2. overflow: hiddenで枠に収まらないサイズの要素は隠す
  3. box-shadowで奥行きをつけて立体感を演出
  4. object-fit: coverで画像が伸縮せずに滑らかに表示されるように指定
  5. transform scaleで拡大縮小の調整
  6. transitionでhoverするとアニメーションを実現

【初心者向け】失敗しないプログラミングTIPS

そもそもWebデザインの基礎がわからない。。
そんなあなたには『Udemy』

ふたご


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

ふたご

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

 

   話だけ聞いてみる