home
twitter
ページトップへ
目次
  • 「scale」プロパティを使うと何ができるのか?
  • 前提知識!
  • 「軸」について。
  • 「scale」の使い方!
  • 「scale」の指定方法には何種類あるのか?
  • 「none」キーワード
  • 1つの数値を使う
  • 2つの数値を使う
  • 3つの数値を使う
  • 「%」による指定もできる!
  • アニメーションさせるなら「transition-duration」や「animation-duration」の指定を忘れずに!
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/09/18 (更新日:2024/09/18)

【CSS】「scale」プロパティの使い方!【分かりやすい】

Categories > CSSのアニメーション編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

この記事ではCSSの「scale」プロパティの使い方について解説します!丁寧にまとめていくので、興味がある方はぜひご一読ください。

「scale」プロパティを使うと「要素を拡大縮小」させることができます。

この記事の内容!

  • 「scale」プロパティを使うと何ができるのか?
  • 「scale」プロパティの使い方!
また、下の動画でもCSSの「scale」プロパティの使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • 「scale」プロパティを使うと何ができるのか?
  • 前提知識!
  • 「軸」について。
  • 「scale」の使い方!
  • 「scale」の指定方法には何種類あるのか?
  • 「none」キーワード
  • 1つの数値を使う
  • 2つの数値を使う
  • 3つの数値を使う
  • 「%」による指定もできる!
  • アニメーションさせるなら「transition-duration」や「animation-duration」の指定を忘れずに!
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

「scale」プロパティを使うと何ができるのか?

https://chibasyuta.org/wp-content/uploads/2024/09/demo_scale_new.mp4
<div class="container">
    <div class="box"></div>
</div>
.container {
    width: 1000px;
    margin: 100px auto;
}
.box {
    width: 200px;
    height: 200px;
    background-color: skyblue;
    transition-duration: 1s;
}
.box:hover {
    scale: 1.3;
}

「scale」プロパティを使うと「要素を拡大縮小」させることができます。

平行移動させたり、歪ませたり、回転させることはできませんが、「拡大縮小」させることは可能です!

なるほど!

前提知識!

まずは「scale」の指定に必要な前提知識からまとめますね。

「軸」について。

x軸とy軸

このような「軸」が存在します。

また、「x軸」と「y軸」に対して垂直に交わる軸が「z軸」になります。方向はパソコンの画面から僕らに向かってくる感じの方向です。

「scale」の使い方!

それでは「scale」の使い方をまとめていきますね!

「scale」の指定方法には何種類あるのか?

「scale」の指定方法は下記の通りです。

  • 「none」キーワード
  • 1つの数値を使う
  • 2つの数値を使う
  • 3つの数値を使う

これら4つのタイプの指定方法があります。

「none」キーワード

「scale」の初期値は「none」です。

「none」を使うと「拡大縮小しない」ことを明示的に指定できます。

1つの数値を使う

https://chibasyuta.org/wp-content/uploads/2024/09/demo_scale_new.mp4
.box:hover {
    scale: 1.3;
}

1つの数値を使うと「x軸」と「y軸」で等しい倍率で拡大縮小させることができます。

倍率を単位なしの数値で指定してあげればOKです。「%」も使えます。

2つの数値を使う

https://chibasyuta.org/wp-content/uploads/2024/09/scale_2_value_new.mp4
.box:hover {
    scale: 1.8 1.3;
}

2つの数値を使うと、下記のようになります。

1つ目の数値で「x軸」の倍率の指定

2つ目の数値で「y軸」の倍率の指定ができます。

3つの数値を使う

https://chibasyuta.org/wp-content/uploads/2024/09/scale_3_value_new.mp4
<div class="container">
    <div class="box">
        <div class="surface"></div>
        <div class="surface"></div>
        <div class="surface"></div>
        <div class="surface"></div>
        <div class="surface"></div>
        <div class="surface"></div>
    </div>
</div>
.container {
    width: 1000px;
    margin: 100px auto;
}
.box {
    position: relative;
    transition-duration: 1s;
    rotate: 1 1 1 -20deg;
    transform-style: preserve-3d;
}
.box:hover {
    scale: 1 1 2;
}
.surface {
    width: 200px;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.7;
    background-color: skyblue;
    border: 4px solid #333;
}
.surface:nth-child(1) {
    background-color: skyblue;
    translate: 0 0 100px;
}
.surface:nth-child(2) {
    rotate: x 90deg;
    translate: 0 100px;
}
.surface:nth-child(3) {
    rotate: y 90deg;
    translate: 100px;
}
.surface:nth-child(4) {
    rotate: y -90deg;
    translate: -100px;
}
.surface:nth-child(5) {
    rotate: x 90deg;
    translate: 0 -100px;
}
.surface:nth-child(6) {
    translate: 0 0 -100px;
}

3つの数値を使うと、下記のようになります。

1つ目の数値で「x軸」の倍率の指定

2つ目の数値で「y軸」の倍率の指定

3つ目の数値で「z軸」の倍率の指定ができます。

「%」による指定もできる!

「scale」プロパティには「%」による指定もできます。

「%」を使うと、その要素の幅や高さが基準となります。

アニメーションさせるなら「transition-duration」や「animation-duration」の指定を忘れずに!

「scale」を使うなら「transition-duration」や「animation-duration」と組み合わせて使わないと、一瞬で遷移が完了してしまい、アニメーションっぽく見えなくなってしまうので、注意しましょう。

「transition-duration」や「animation-duration」を使って、「アニメーションにかかる時間」の指定をしてあげることで初めてアニメーション感がでるのです。

もちろん、ただ要素を動かしたいだけの場合はOKですけどね!

参考リンク!

仕様書。
https://drafts.csswg.org/css-transforms-2/#individual-transforms

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/scale

おすすめの再生リスト!

こちらは僕が制作したYouTubeの再生リスト「CSSのアニメーション編」です。

「CSSのアニメーション編」はCSSを使ったアニメーションの知識が網羅的に学習できるコンテンツとなります。

こちらの再生リストでCSSアニメーションについて丁寧に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!

まとめ!

「scale」プロパティを使うと「要素を拡大縮小」させることができる。

「scale」の指定方法は下記の通りです。

  • 「none」キーワード
  • 1つの数値を使う
  • 2つの数値を使う
  • 3つの数値を使う

アニメーションさせるなら「transition-duration」や「animation-duration」の指定を忘れずに!

こんな感じですかね!

この記事が気に入った方は僕のTwitter(@chibasyuta)のチェックもお願いします!

また、下の動画でもCSSの「scale」プロパティの使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.