2
要素にクラスを追加することでトリガーされるアニメーションを実行しています。アニメーションを逆にするクラスを削除すると、アニメーションを元に戻す方法がわかりました。問題はそれが引き起こす負荷です。それを防ぐために私は何ができますか、私は何が変わることができますか、私は何が欠けていますか?アニメーションが読み込み時にトリガーされ、クラスが削除されたときにデフォルトの状態にアニメーションされます。
完全なHTML/CSS/JSはここfiddle
にある良い部分、
@keyframes expand {
20% {
opacity: 0;
width: 5rem;
}
70%, 100% {
opacity: 1;
transform: translate(0, 0);
width: 100%;
}
}
@keyframes contract {
0% {
transform: translate(0, 0);
width: 100%;
}
100% {
transform: translate(0, -6rem);
width: 5rem;
}
}
[data-am-button~="buy"] {
margin-bottom: .5rem;
transform: translate(0, -6rem);
width: 5rem;
animation: contract 500ms forwards;
span {
display: none;
}
.is-expanded & {
animation: expand 500ms forwards;
}
}