See the Pen カーテンのように左右に開くページ遷移アニメーション by チータツ (@cheese_fuji) on CodePen.
Rerunで再アニメーション↑
CSSの解説
画面を2分割して左右それぞれをカバーする要素を用意。2つともにアニメーションで中心から画面端まで縮めることで、カーテンが開いたかのような動きが実現します。
- @keyframesでアニメーションを作成
- 0%:幅width: 50vwで画面全体を覆う
- 100%:width: 0で画面端まで縮んで、visibility: hidden で非表示に
- アニメーション用の疑似要素body::beforeとbody::afterを作成する
- position: fixedで固定表示
- width: 50vwとheight: 100vhで画面を左右半分ずつカバー
- top:0で画面に高さをぴったり合わせる
- z-index: 999を指定して、他の固定表示要素よりも上に表示する
- backgroundで色付け
- animationを指定(アニメーション名、時間、forwards)
- 好みで遅延時間animation-delayを設定
- body::beforeは左に展開させたいのでleft: 0に
- body::afterは右に展開させたいのでright: 0に
応用CSS
カーテン+フェードアウト
@keyframesにopacityを使ったフェードアウトを追加すると、より自然なページ遷移になります。
アニメーションの途中50%までopacity:1にしておき、終わり際にフェードアウトが始まるようにしています。
See the Pen カーテンのようなページ遷移アニメーション+opacity by チータツ (@cheese_fuji) on CodePen.
Rerunで再アニメーション↑
劇場のカーテン風
段階的に左右に開くようにして、手動っぽさと重さを表現。ついでに上部にborderで金の装飾をあしらっています。

何か分からない?
そうですか...
See the Pen 劇場のカーテンのようなページ遷移アニメーション by チータツ (@cheese_fuji) on CodePen.
Rerunで再アニメーション↑