【CSS】transformの起点を指定するtransform-originプロパティ

transform-originのアイキャッチ
こばゆた
こばゆた

前回、前々回やったtransformプロパティの補足的なお話です

スポンサーリンク

1.transform-origin

transform-originとはtransformプロパティの起点を指定する事ができるプロパティです。

何も指定していないデフォルトの状態だと中心を起点にしています。

カーソルを乗せてください

<div class="boxA box">・</div>
<div class="boxB box">・</div>
<div class="boxC box">・</div>
.box{
  width: 100px;
  height: 100px;
}

.boxA:hover{
   transform: rotate(15deg);
}

.boxB:hover{
   transform: skewX(30deg);
}

.boxC:hover{
   transform: scale(1.2, 0.5);
}

transformプロパティの中には”translate”,”rotate”,”scale”,”skew”がありましたが今回は上の3つの変化を見て行きます。

ちなみに”translate”は基準を変えても平行に移動するだけなので、transform-originを指定しても意味がないため省略します。

スポンサーリンク

2.transform-originの指定の仕方

2-1.値をキーワードで指定する

セレクター{
  transform-origin: 値;
}

rotate

skewX

scale

値を変えると起点が変わります

.box{
  transform-origin: center;
}

2-2.値を複数指定する

値を複数選択することもできます。

rotate

skewX

scale

ボタンをクリックすると起点が変わります

top left
top right
bottom left
bottom right

ボタンをクリックした後にカーソルを乗せてください

rotate

skewX

scale

.box{
  transform-origin: top left;
}

2-3.値を数値で指定する

“top”などのキーワードだけでなく”%”,”px”でも指定できます。

rotate

skewX

scale

ボタンをクリックすると起点が変わります

90px
30px 30px
60px 60px
50% 50%

3.まとめ

transform-originまとめ
  • transform-originプロパティはtransformの起点を指定する事ができるプロパティ
セレクター{
  transform-origin: 値;
}

値は%やpxで指定、または”top”や”left”などのキーワードでも指定でき、複数組み合わせることもできる

コメント