我在我的网站上有这个介绍部分,通过CSS-animate进行背景色动画。问题:它需要很多性能,如果我在首页上停留超过20秒,我的macbook pro会像火一样变热。
您是否有一个好主意,如何在不需要访问者设备的整体性能的情况下获得相同的效果?也许用Javascript?
THX很多!
.intro {
-webkit-animation: AnimationName 10s ease infinite;
-moz-animation: AnimationName 5s ease infinite;
animation: AnimationName 5s ease infinite;}
@-webkit-keyframes AnimationName {
0%{background-color: #ff5326;}
25%{background-color: #009350;}
50%{background-color: #2b48c0;}
75%{background-color: #009350;}
100%{background-color: #ff5326;}
}
@-moz-keyframes AnimationName {
0%{background-color: #ff5326;}
25%{background-color: #009350;}
50%{background-color: #2b48c0;}
75%{background-color: #009350;}
100%{background-color: #ff5326;}
}
@keyframes AnimationName {
0%{background-color: #ff5326;}
25%{background-color: #009350;}
50%{background-color: f2b48c0;}
75%{background-color: #009350;}
100%{background-color: #ff5326;}
}
答案 0 :(得分:0)
这背后的原因是你是一个无限循环。因此CPU会变热。您可以添加到.intro
的属性是
transform: translateZ(0);
这段代码应该降低所需的性能。见http://ariya.blogspot.se/2011/07/fluid-animation-with-accelerated.html
切换到Javascript应该有所不同,所以我会选择上面提到的属性。如果你不想要,我猜使用GIF是一种选择,但它不是很优雅。
希望这有帮助