我使用-webkit-animation
面临内存问题。
原理
我想为渐变背景设置动画。由于它们在关键帧中无法制作动画,因此我将每个背景设置为不同的div
,并且我正在使用那些div
不透明度和z-index
:
.item01
从0%到4%可见,开始淡出0%.item02
可见0%至8%,开始淡出4%(及.item01
下).item03
可见0%至12%,开始淡出8%(及.item02
下)问题
只有16个第一个动画才有效,17日我们只看到一个空白div,直到重新启动所有动画。
我注意到我使用-moz-animation
和Firefox时没有遇到此问题,问题只发生在使用-webkit-
的Chrome上。
根据您的视口大小,您将能够看到更多或更少的动画。
代码
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;} }
...
出于示例目的,我用简单的红色/蓝色替换渐变背景。
以下是完整代码的JSFiddle。
任何使这段代码有效的方法吗?
修改
在我最近发现之后,我更新了我的问题:
答案 0 :(得分:1)
我认为解决方案是只有2个div,每个div都有一个动画。
第一个div的动画加载背景,过渡到不透明度0,更改背景,过渡到不透明度1,变为oapcity 0,更改背景等等。
第二个div的动画做同样的事情,但背景为偶数
答案 1 :(得分:0)
这确实是一个webkit错误,已经存在多年了。