home
twitter
ページトップへ
目次
  • 「transform-origin」プロパティを使うと何ができるのか?
  • 「transform-origin」プロパティの使い方!
  • 3つの構文が使える
  • 値が1つの構文
  • 値が2つの構文
  • 値が3つの構文
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/10/30 (更新日:2024/10/30)

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

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

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

「transform-origin」プロパティを使うと、要素を「座標変換」するときに使う「原点の位置」の指定ができます。

「座標変換」は「transform」プロパティを使って行うことができますね。

この記事の内容!

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

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

目次
非表示
  • 「transform-origin」プロパティを使うと何ができるのか?
  • 「transform-origin」プロパティの使い方!
  • 3つの構文が使える
  • 値が1つの構文
  • 値が2つの構文
  • 値が3つの構文
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

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

https://chibasyuta.org/wp-content/uploads/2024/10/transform-origin-demo_new.mp4
<div class="box"></div>
<div class="box"></div>
.box:nth-child(1):hover {
    transform: rotate(45deg);
    transform-origin: center;
}
.box:nth-child(2):hover {
    transform: rotate(45deg);
    transform-origin: top left;
}

「transform-origin」プロパティを使うと、要素を「座標変換」するときに使う「原点の位置」の指定ができます。

「座標変換」は「transform」プロパティを使って行うことができますね。

上の例では、要素を「transform: rotate()」を使って回転させています。そして「ピンクの丸」がそれぞれの要素の「座標変換の原点」になります。その「原点」を中心にお互い回転していますよね。そのような点が「原点」になります。

そしてその「原点の位置」の指定ができるのが「transform-origin」プロパティということですね。

また、「transform」プロパティの使い方に関しては、下記の記事で詳しくまとめているので、もし気になる方はこちらをお読みください!

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

関連記事

「transform-origin」プロパティの使い方!

それでは「transform-origin」プロパティの使い方についてまとめますね!
わーい!

3つの構文が使える

「transform-origin」の設定をするには下記の3つの構文が使えます。

  • 値が1つの構文
  • 値が2つの構文
  • 値が3つの構文

これらの構文が用意されています。

値が1つの構文

「値が1つの構文」を使うと「原点の水平方向の位置」の指定ができます。「原点の垂直方向の位置」は「要素の真ん中」になります。

例えば「20px」と指定すると、「要素の左端」から「20pxだけ右に動いた位置」に「原点」がきます。

「要素の左端からの距離」を指定することができる感じですね。

もしくは、1つの「キーワード」を使った指定もできます。

使えるキーワードは下記の通りです。

  • top
  • bottom
  • left
  • right
  • center

これらが使えます。

「1つのキーワード」を使うとこんな感じです。

1つのキーワードを使う

このように1つのキーワードで簡単によく使われる場所を示すことができます。

テキストで書くと、

「top」なら「水平方向」は「真ん中」で「垂直方向」は「上端」

「bottom」なら「水平方向」は「真ん中」で「垂直方向」は「下端」

「left」なら「水平方向」は「左端」で「垂直方向」は「真ん中」

「right」なら「水平方向」は「右端」で「垂直方向」は「真ん中」になります。

値が2つの構文

「値が2つの構文」を使うと、その2つの値で「水平方向の位置」と「垂直方向の位置」の指定ができます。

1つ目の値で「水平方向の位置」

2つ目の値で「垂直方向の位置」の指定ができます。

1つ目の値は「左端からの距離」として指定できますし、

2つ目の値は「上端からの距離」として指定できます。

また、1つ目の値には「left」「center」「right」のキーワードも使えますし、

2つ目の値には「top」「center」「bottom」の値を使うこともできます。

「値が2つの構文」の注意点!

「top 200px」のような指定はできないので注意してください。

「1つ目の値に使えるキーワード」は水平方向を表す「left」「center」「right」のみになります!

さらに、厳密には「1つ目の値」と「2つ目の値」が両方ともキーワードの場合は「top left」というような順番を逆にしたような書き方もできるのですが、間違いやすくなるので、「1つ目の値で使えるキーワード」は「left」「center」「right」だけ!というように覚えてもOKだと僕は思います。

値が3つの構文

「値が3つの構文」を使うと、その3つの値で「水平方向の位置」と「垂直方向の位置」「z軸方向の位置」の指定ができます。

1つ目の値で「水平方向の位置」

2つ目の値で「垂直方向の位置」

3つ目の値で「z軸方向の位置」の指定ができます。

また、1つ目の値には「left」「center」「right」のキーワードも使えますし、

2つ目の値には「top」「center」「bottom」の値を使うこともできます。

厳密には、「1つ目の値」と「2つ目の値」が両方ともキーワードの場合は「top left」というような順番を逆にしたような書き方もできるのですが、間違いやすくなるので、「1つ目の値で使えるキーワード」は「left」「center」「right」だけ!というように覚えてもOKだと僕は思います。

参考リンク!

仕様書。
https://drafts.csswg.org/css-transforms/#transform-origin-property

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/transform-origin

おすすめの再生リスト!

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

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

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

まとめ!

「transform-origin」プロパティを使うと、要素を「座標変換」するときに使う「原点の位置」の指定ができます。

「座標変換」は「transform」プロパティを使って行うことができます。

「transform-origin」の設定をするには下記の3つの構文が使えます。

  • 値が1つの構文
  • 値が2つの構文
  • 値が3つの構文
こんな感じですかね!

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

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

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

ではまた!

自分のロゴ!

皇帝ペンギン

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

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.