2024/07/07備忘録css
CSSのスクロールアニメーションの実装
CSSの追加機能で、スクロール量に応じてアニメーションを発生させることができるようなので備忘録です。
CSSでアニメーションをする際に使っていた keyframes が時間の経過ではなく、スクロールに応じて連動する感じです。
scale関数を使ってサンプルを作ってみます。
keyframesで始点と終点をセットしscale関数でサイズを変更しています。
実装
.anim_element {
animation: grow-progress linear;
animation-timeline: scroll();
}
/* スクロールして表示サイズ変更 */
@keyframes grow-progress {
from {
scale: 1 0;
}
to {
scale: 1 2;
}
}
今回はscale関数を使いましたが、opacityを使えばフェードエフェクトに、transformを使えば移動や変形に、background-positionを使えばパララックス効果に使えますね。