を使用して、メモリの問題に直面しています-webkit-animation
。
原理
グラデーションの背景をアニメーション化したい。キーフレームではアニメーション化できないため、各背景を異なる に配置し、それらの不透明度とdiv
で遊んでいます。div
z-index
.item01
0% から 4% まで表示され、0% でフェードアウトし始めます.item02
.item01
0% から 8% まで表示され、4% (および 未満)でフェードアウトし始めます。.item03
.item02
0% から 12% まで表示され、8% (および 未満)でフェードアウトし始めます。- ...
問題
最初の 16 個のアニメーションのみが機能し、17 番目には、すべてのアニメーションが再開されるまで空の div が表示されます。
-moz-animation
と Firefox の使用に問題がないことに気付きました。この問題は Chrome でのみ発生し、 -webkit-
.
ビューポートのサイズに応じて、アニメーションを多かれ少なかれ表示できます。
コード
HTML
<div class="item item-01">ITEM 01</div>
<div class="item item-02">ITEM 02</div>
<div class="item item-03">ITEM 03</div>
...
CSS
.item {
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
opacity: 1;
}
.item-01 {
background: red;
z-index: 100;
-webkit-animation: item01 30s linear infinite;
}
.item-02 {
background: blue;
z-index: 96;
-webkit-animation: item02 30s linear infinite;
}
.item-03 {
background: red;
z-index: 92;
-webkit-animation: item03 30s linear infinite;
}
...
@-webkit-keyframes item01 { 0%, 100% {opacity: 1;} 4%, 99.999% {opacity: 0;} }
@-webkit-keyframes item02 { 4%, 100% {opacity: 1;} 8%, 99.999% {opacity: 0;} }
@-webkit-keyframes item03 { 8%, 100% {opacity: 1;} 12%, 99.999% {opacity: 0;} }
...
例として、グラデーションの背景を単純な赤/青の背景に置き換えました。
このコードを機能させる方法はありますか?
EDIT
最近の発見に続いて、質問を更新しました:
- 表示されるアニメーションの数は OS によって異なります (Ubuntu は Win7 よりも良い結果を出しているようです)
- 表示されるアニメーションの数は、ビューポート サイズによって異なります