CSSの基本アニメーション【スライドインとフェードイン】を実装する方法

2021年11月28日

こんにちは、説也です。
この記事では、CSSによるアニメーション表現の基礎を紹介しています。

今回は、その中でも「スライドインとフェードイン」アニメーションについての記事となります。

CSSを基本からしっかり学びたい場合は「 CSS設計完全ガイド 」がオススメです。

詳細解説だけでなく、実践的モジュールが数多く詰まっており、CSS設計の考え方と実践法が身につきます。

CSSアニメーションの基本的な実装手順<概要>

① HTML内で、アニメーションさせたいタグに「任意のクラス」を定義

② CSS内に、上記①で定義した「アニメーションクラス」を定義

③ CSS内に、上記②で定義した「クラス」に「アニメーション名」と「アニメーション時間」を定義

④ CSS内に、上記③で定義した「アニメーション名」で開始と終了のキーフレームをコーディング


CSSによるスライドインアニメーション(基礎)

See the Pen CSSアニメーション基礎【スライドイン】 by 説也 (@setsunaru_com) on CodePen.


CSSによるフェードインアニメーション(基礎)

See the Pen フェードイン by 説也 (@setsunaru_com) on CodePen.


CSSによるスライド&フェードイン (組み合わせ)

See the Pen CSS基本のアニメーション 【 フェードイン 】 by 説也 (@setsunaru_com) on CodePen.


コード解説

HTMLの記述

<div class="fadein">テキストアニメーション</div>

HTMLでは、CSSを適用したいタグに、任意のクラス名を定義するだけでOK
class = “fadein"

CSSの記述

全体概要

/*****************************************
  (1) クラス定義(使用アニメーションと実行時間)               
******************************************/
.fadein {
animation-name: fadeinAnime;         /* 適用するアニメーション */
animation-duration:1.2s;             /* 開始から終了までの時間 */
}
/*****************************************
  (2) アニメーション定義
******************************************
※ 開始フレームと終了フレームを定義*/
@keyframes fadeinAnime{              /* アニメーション名      */
  from {                             /* ▼ 開始フレーム記述    */
    opacity: 0;                      /* 不透明度 0            */
    transform: translateY(50px);     /* 開始位置 */
  }
  to {                               /* ▼ 終了フレーム記述   */
    opacity: 1;                      /* 不透明度 1           */
    transform: translateY(0px);      /* 終了位置          */
  }
}
(1) クラス定義(使用アニメーションと実行時間)

>.fadein {
任意のクラス名を定義
※ ここで定義したクラス名をHTML内で指定する必要があります。

>animation-name:
(2)で定義するアニメーション名を指定

>animation-duration:
(2)で定義したアニメーション内容の開始から終了までの時間指定

(2) アニメーション定義

>@keyframes fadeinAnime{
アニメーションの名前を任意で定義
※ ここで定義した名前を(1)で指定してあげる必要があります。

>from {}
アニメーション開始の状態を指定

>to {}
アニメーション終了の状態を指定

> opacity: 0;
ターゲットタグの不透明度の指定

>transform: translateY(50px);
ターゲットタグの表示位置を指定