See the Pen The mount by keisuke Takahashi (@ksksoft) on CodePen.
アニメを考える
本物のパラマウントのロゴをYouTubeなどで見ながら、どういうアニメにするのかを考えました。年代ごとに色々とバージョンがあり、最新のやつはピクサーが作ったCGアニメらしいです。
CSSアニメにするにあたっては、印象的な要素を抽出して、以下のポイントを表現に絞りこみました。
- 星が飛んできて円状に広がる
- 白黒からカラーに変える表現を加えて、ロゴの持つ歴史を表現する
また、今回は、以下のこと切り捨てました。
- 空に浮かぶ空の雲の表現も面白いが、星のアニメに注目してもらうために描かない
- 1つのdivだけで作ることも可能だろうが、その技術的なチャレンジはしない
- 星をcssで描画することも可能だが、シンプルに星の絵文字(⭐️)を使う。
- 22個の星は22個のdivで描画しちゃう。
アニメの構成の工夫
ひとつながりのアニメーションを複数に分ける工夫をすると、アニメを作成しやすくなります。
今回のアニメのポイントは、一番複雑な動きになる星のアニメを、手前から奥へ飛んでいくアニメと、円形に広がるアニメに分けたところです。
今回の作品のDOM要素・描画された絵・アニメーションの関係は以下のようになっています。
DOM要素 | 描画している絵 | アニメ |
div.screen | スクリーン | 白黒からカラーへ |
div.screen::before | 中央の高い山 | ズームイン1 |
div.screen::after | 手前の低い山 | ズームイン2 |
div.screen > div | 星のコンテナ | 手前左上から高い山の頂上へ星を飛ばす |
div.screen > div::before | 星 | 円形に広がる星 |
div.screen > h1 | タイトル | ふわっと表示 |
星をdiv.screen > divに描かずに、その::beforeに描くとこで入れ子にしているのがミソです。入れ子の要素のそれぞれをアニメさせると、一見複雑な指定も、シンプルに書くことができます。
星のコンテナのアニメの解説