お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

変形させる。ガチャガチャっとな

さて、今までのCSSでは再現できなかったトランスフォーム
要素やらなんやらを変形したりすることができるのです。すごいね!

おことわり。
本ページでの動きに関しては、JS側でゴリゴリ値を入れ込んで動かしているものとなります。
CSSアニメーション!!ってのはまた別途項目を参照してください。

で、何ができるんですかねぇ…

トランスフォームでできるのは以下

  • 要素の表示位置の移動
  • 要素の縮尺の変更
  • 要素の回転
  • 要素の傾斜の変更

基本、JSでゴリゴリやるのが分かりやすいかもしれないですね。

要素の表示位置の移動

transform:translate()を使用します。

translate(X,Y)

表示位置からいくつ移動させるかを指定します。
X軸,Y軸と指定していきます。
absoluteではないので、実態が残ったまま移動してる感じですかね。
また、個別指定方法としては
transform:translateX(X方向の距離)
transform:translateY(Y方向の距離)
があります。

要素の縮尺の変更

transform:scale()を使用します。

scale(X,Y)

指定した要素を拡大縮小するヤツです。
これもX軸とY軸での指定が可能ですが
今回は距離ではなく、倍率指定となります。
通常の表示が1となり、それを基準に設定が可能です。
また、-1とすることで反転させる事もできます。

個別指定方法としては
transform:scaleX(X軸比率)
transform:scaleY(Y軸比率)
があります。

要素の回転

transform:rotate()を使用します。

rotate(deg)

指定単位は【deg】と呼ばれるものを指定します。
rotateでは時計回りに指定角度分傾いていきます。
負の値を指定すると、反時計回りに傾いていきます。
特に指定がなければ、要素の中心を軸に傾きますが
transform-originを使用することにより、中心軸を変更することができます。

rotateX(deg)

横軸を中心に要素が回転するようになります。

rotateY(deg)

縦軸を中心に要素が回転するようになります。

transform-origin(x y)

回転軸の変更を行います。
要素の左上を基準として、指定を行います。
指定できるのは
1:パーセント
2:数値
3:キーワード(X:left・center・right Y:top・center・bottom)
となります。
デフォルトは、50% 50% となります。

要素の傾斜の変更

transform:skew()を使用します。

skew(X軸deg,Y軸deg)

rotateと同じく指定単位は【deg】と呼ばれるものを指定します。
傾きの角度を指定してあげます。
X軸とY軸には個別に指定することができます。

skewX(deg)

横軸を中心に要素が傾きます。

skewY(deg)

縦軸を中心に要素が傾きます。