私はCSSアニメーションでいっぱいのダッシュボードページを作成しています。ブートストラップのもの(アニメーション進行状況バー)からカスタムアニメーションまですべての子要素のすべてのCSSアニメーションを一時停止/再生する
いくつかの要素をクリックすると、すべてのアニメーションにオーバーラップするほぼフルスクリーンのモーダルがトリガーされるので、クラスを追加/削除することですべての一時的な一時停止を実行しますそのクラスが設定されているときにCSSを使用してすべてのアニメーションを一時停止します。
このソリューションは、モーダルを開くときにクラスを切り替えるだけで、jsの1行だけを使用します。
マイテンプレートは、多少のようになります。
<body>
<div class="modal">
<!-- Modal code -->
</div>
<div class="app">
<!-- Template -->
</div>
</div>
それは、すべての子要素内のすべてのCSSアニメーションを一時停止し.app
にクラスを追加することは可能ですか?
注1:
私はあなたが私が要求するものの正反対を使用することができます知っている:すなわち、トップ要素の1つにデフォルト.animation-play
クラスを持っており、接頭辞すべての子要素を持ちますこのクラスのアニメーション、次にを削除してこのクラスを削除すると、すべてのアニメーションが一時停止します。
app.animation-play .somediv .somediv .element {
// animation code
}
app.animation-play .somediv .element {
// animation code
}
app.animation-play .somediv .somediv .somediv .somediv .element {
// animation code
}
をしかし、私は、CSSコードのたくさんを編集する必要があり、それはどちらかの非常に良い見ていません:ただ好き。
注2:
私もJSソリューションのためのオープンなんだけど、私は重くがこれを達成するための純粋なCSSの方法を好むだろう。ホバー上
'* {移行:なし!重要; } '? – Pete
ピートが言及したことに加えて、これを加えてください: '* {animation:none!important; } ' – evilReiko
' .app.animation-pause * {// code} 'にして、ポーズクラスを適用すると' .app'だけで動作します。すべてを試して、この記事全体を書く*、私は完全に '*'を忘れてしまった...ありがとう、皆さん。 @ペテ、答えを加えてください(あなたが最初でした)、私はそれを受け入れたものとしてマークします。 –