See the Pen ロゴ付きのページ遷移アニメーション by チータツ (@cheese_fuji) on CodePen.
Rerunで再アニメーション↑
アニメーションの遅延時間animation-delayを好みで調整してください。
CSSの解説
アニメーション用のdiv要素を作り、ロゴ画像を子要素とします。bodyの疑似要素を使っても良いですが、入れ子構造になるためdivを作ってしまった方が管理が楽だと思います。
また、CSSについては
画面に背景を被せる → その上でロゴ画像を動かす → ロゴごと背景をフェードアウト
の3ステップになっています。
- 画面全体を覆う背景をdiv要素で作成する
- position: fixedで固定表示
- width: 100vwとheight: 100vhで画面全体をカバーする
- z-indexに高い数値を入れて最前面に
- animationを指定(フェードアウト、時間、forwards)
- ロゴのアニメーションの後になるように遅延時間animation-delayを設定
- @keyframesでフェードアウト用のアニメーションを作成
- 0%:opacity: 1で不透明
- 100%:opacitu: 0で透明にして、visibility: hiddenで非表示に
- ロゴ画像の調整
- position: absoluteとmargin: autoで中央に配置
- animationを指定(好きなアニメーション、時間、forwards)
- animation-delayで遅延時間を設定(フェードアウトより前に)
- @keyframesでロゴ画像用のアニメーションを作成
また、ロゴ画像用のアニメーションについては、形やイメージに合わせて作成するのがおすすめです。(丸なら回転、可愛い系ならバウンドなど)
当サイトで紹介しているもそのまま使えるので、ぜひ参考にしてください。
何にでも使える汎用的アニメーション
応用CSS
ロゴが大きくなってコンテンツが出現
Twitterアプリなどで使われている画面遷移です。
フェードアウトの直前に、transform: scale()でロゴ画像を画面より大きく広げています。
画像のサイズ指定をvwやvhで行うのは不可能なので(vw,vhをpx変換しないといけない)、ラストの拡大はscale()の値を大きくして、食い気味にフェードアウトさせて誤魔化せばOKです。
アニメーションの仕組みについては、円が拡大してコンテンツが現れるページ遷移と同様のものです。
See the Pen ロゴが広がってコンテンツが出現する by チータツ (@cheese_fuji) on CodePen.
ロゴがくるっと回転する
フェードアウトの直前に、rotate()でロゴ画像を2回転させます。
なお、ローディングじゃないので回転し続けて時間を取るのはNG。さりげなく1~2回転させるぐらいが丁度良いかと思います。
アニメーションの詳細については、回転するアニメーションのCSSをご覧ください。
See the Pen ロゴが回転するページ遷移アニメーション by チータツ (@cheese_fuji) on CodePen.