Web活のロゴ

Web制作Output&初心者のための徹底ガイド

実際のプロジェクトでよく使用される
CSSアニメーションのプロパティを紹介します。

2023.07.16CSSアニメーションについて
はじめに
概要

CSSアニメーションは、ウェブサイトやアプリケーションのデザインにおいて重要な役割を果たします。以下では、実際のプロジェクトでよく使用されるCSSアニメーションのプロパティを紹介します。

スポンサーリンク
※本記事の情報は執筆時点のものであり、閲覧時点では変更されている可能性があります。また、ご利用の環境によっては、本記事の内容が正常に動作しないことがあります。最新の情報については、公式サイトなどでご確認ください。

プロパティの種類

1.opacity(不透明度): opacityプロパティは、要素の不透明度を設定するために使用されます。値は0から1の範囲で指定され、0は完全に透明であり、初期値は1となります。このプロパティは、要素のテキストや背景、境界線などのすべての要素に適用されます。

例:

div {
opacity: 0.5;
}

上記の例では、div要素の不透明度が0.5に設定されています。

2.transition(状態移動): transition(トランジション)は、ある状態や状況から別の状態や状況へ移り変わることを指します。例えば、時間の経過によって季節が変わることや、人が学生から社会人へと進学することなどがtransitionの例です。要素の状態が変化する際に、滑らかなアニメーション効果を追加するためのプロパティです。要素のスタイルが変更された際に、指定した時間内で変化が起こるように設定することができます。例えば、マウスオーバー時に背景色が変化するような効果を作ることができます。

3.transform(初期値):要素の初期値を設定します。要素の位置や形状、サイズ、回転などを変更するためのプロパティです。transformプロパティには、さまざまな関数があり、これらを組み合わせることで要素を変形させることができます。

例えば、translate関数は、要素を指定した距離だけ水平方向や垂直方向に移動させることができます。この関数には、translateX、translateY、translateZなどのバリエーションもあります。

scale関数は、要素のサイズを指定した倍率で拡大または縮小することができます。この関数には、scaleX、scaleY、scaleZなどのバリエーションもあります。

rotate関数は、要素を指定した角度だけ回転させることができます。この関数には、rotateX、rotateY、rotateZなどのバリエーションもあります。

skew関数は、要素を指定した角度だけ傾けることができます。この関数には、skewX、skewYなどのバリエーションもあります。

 

CSSアニメーションの実装例

以下は上記のプロパティを使用した例です。

リプレイ

CSSアニメーション-test1

CSSアニメーション-test2

CSSアニメーション-test3

CSSアニメーション-test4

CSSアニメーション-test5

初期値としてopacityを0と設定し、要素を透明にします。さらに、transformのtranslateYで要素を10px下に配置します。そして、Javascriptのスクロールイベントでイベントを発火し、transformを解除する流れになります。スクロールと紐付ける方法は様々な方法がありますが、JavaScriptのアニメーションライブラリーGsapをおすすめいたします。GsapのscrollTriggerを使用する方法については、こちらを参照してください。

 
スポンサーリンク
まとめ
  • 優先度の高いプロパティはopcity・transition・transformである
  • それぞれの内容はopacity(不透明度)・transition(状態移動)・transform(初期値)
  • アニメーションは基本イベントと紐付ける必要がある
  • Gsapは高機能なアニメーションライブラリーで複雑なアニメーションを容易にしてくれる
  • アニメーションが実装される流れを理解する
  • 初期値をCSSで設定し、Javascriptのイベントでそれを解除する流れとなる