CSSアニメーション ~transform編~

CSSアニメーション ~transform編~ WEB
WEB

※プロモーションページが含まれる場合があります。
※本記事は執筆時点での情報になります。情報や状況は変化する場合があります。

こんにちは、トミーです。

前回の「transition編」に続き、今回は要素を移動させたり、回転させたりなど変形のプロパティである「transform編」について書いています。

transition編

@keyframes・animation編

 transformについて

transformとは直訳すると「変形」と言う意味です。
CSS3から追加され、要素に対して変形を加えることができるプロパティになります。

変形には「移動」「回転」「伸縮」「傾斜」があり、順番に説明していきます。
※transformには2D(XY方向)と3D(XYZ方向)の指定ができますが、今回は2Dのみについて解説していきます。

移動 transform:translate(0px);

要素の移動を指定するプロパティです。「 transform:translate(数値); 」と記述し、値は「px」や「%」で指定します。
移動する方向としてはX軸方向、Y軸方向、XY軸方向があります。

実際にオンマウス(スマホの方はタップ)で動きの違いを見比べてみてください。

回転 transform:rotate(0deg);

要素の回転を指定するプロパティです。
「transform:rotate(数値);」と記述し、値は角度を表す「deg」で指定します。(90deg=90度)

正数は時計回り、負数は反時計回りに回転します。
また、X軸方向、Y軸方向への回転もあります。

実際にオンマウス(スマホの方はタップ)で動きの違いを見比べてみてください。

伸縮 transform:scale(0);

要素の伸縮を指定するプロパティです。
「transform:scale(数値);」と記述し、値は「数値のみ」で指定します。

1を基準に伸縮する比率を指定できます。
伸縮する方向としてはX軸方向、Y軸方向、XY軸方向があります。

実際にオンマウス(スマホの方はタップ)で動きの違いを見比べてみてください。

傾斜 transform: skew(0deg);

要素の傾斜を指定するプロパティです。
「transform: skew(数値);」と記述し、値は角度を表す「deg」で指定します。(90deg=90度)
傾斜する方向としてはX軸方向、Y軸方向、XY軸方向があります。

実際にオンマウス(スマホの方はタップ)で動きの違いを見比べてみてください。

ショートハンドプロパティ

全てまとめて表示することもできます。
「プロパティ(値)」を半角スペースでつないで記述します。

transform: translate(50px) rotate(180deg) scale(2) skew(20deg);

まとめ

「transform」と「transition」を使い実際にコーディングしてみました!
組み合わせて使うことにより、さらに動きの幅を広げることができました。

オンマウス(スマホの方はタップ)していただけるとさまざまな動きを楽しめます。

小さな動きの組み合わせで複雑な動きを表現できるため、基本を押さえておくことが大事だなと改めて感じました。
今後、ボタンやリンクなど用途に合わせてアニメーションを使い、自由自在に動きを表現できるように実践していきたいです。

タイトルとURLをコピーしました