動くテキスト

エンドロールのように文字が流れていくアニメーション

CSSで作る映画のエンドロールのようなアニメーション

- Onkyo -

Takashi D Monkey

Michael Michael

Murabito A

Golden Godwin

Satoshi Oka

Hua Xuanzhong

Kim Wang

- Dinner -

Niku Jaga

Nuts

Don Soboro

Gyu Rice

Ne Komanma

Kaki Ice

Mets Black

Tekka Don

- sponsored -

Tokyo CSS

使いどころさんが迷子な映画のエンドロール風アニメーションです。
全画面バージョンとブロック型の小さいサイズを用意しています。

実は「エンドロール」って和製英語なんですよ

全画面エンドロール

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.

デモページで見る

ブロック版のエンドロール

See the Pen エンドロール(ボックス) by チータツ (@cheese_fuji) on CodePen.

ひとつのブロックに収めたバージョンです。
全画面サイズから2:1の大きさに変更して文字を小さくしただけで、大まかな仕組みはほぼ変わりません。

CSSの解説

エンドロールの大枠となるdiv要素を作り、その中にpタグで各テキストを大量投入します。

  • 大枠となる.end-rollの作成
    • 全画面ならposition: fixedで固定表示、ブロックならposition: relativeを指定
    • widthheightを任意のサイズに(全画面は100vw,100vh)
    • 黒背景に白文字を指定
    • text-transform: uppercaseで英語を全て大文字にするのもヨシ
    • over-flow: hiddenで流れる前・流れ切った後のテキストを非表示に
  • 流れる文章の子要素 .end-roll pを一括で調整
    • position: absolutemargin: autoで中央寄せ
    • bottomにマイナス値を指定して画面外(下)へ配置しておく
    • animationを設定(アニメーション名、流れる時間、linear、forwards)
  • テキストが順番に流れるように各pタグに遅延時間を設定する
    • :nth-child()を使って1つずつ設定
    • 遅延時間animation-delayは一定間隔で指定(サンプルは4秒毎)
  • @keyframesで文字が上に流れるアニメーションを作成する
    • translateY()を使って下から上に座標を変更する
    • ゴール(100%時点の座標)には少し余裕を持たせる(フォントサイズも加味して)