CSS 背景动画很长时间以来都是一个热门话题, 很多时候都是因为效果特别绚丽, 而且不需要额外的技术. 最近有人问我是否可以给页面上一个指定的元素安排多重背景动画, 答案是 yes.... 虽然有些限制因素. 让我们来看看如何实现这个效果!
CSS 代码
给一个页面元素设置多个背景图片, 这种技术很早就可行了, 你只需要用逗号把各个背景分隔开:
- .animate-area {
- background-image: url(Twitter-logo-bird.PNG), url(treehouseFrog.PNG), url(bg-clouds.PNG);
- background-position: 20px -90px, 30px 80px, 0px 0px;
- background-repeat: no-repeat, no-repeat, repeat-x;
- }
需要注意的是, 你希望出现在最上层的背景图应该放在图片队列的第一位. 让这些背景图片动起来需要变化 background-position, 也是用逗号分隔:
- @keyframes animatedBird {
- from { background-position: 20px 20px, 30px 80px, 0 0; }
- to { background-position: 300px -90px, 30px 20px, 100% 0; }
- }
- .animate-area {
- animation: animatedBird 4s linear infinite;
- }
这样做的结果就是三种背景在同一个元素上移动!
当然, 这样实现的并不是最理想的效果, 你无法单个的移动某个背景图片的位置, 它们必须保持相同的速率和持续时间.
来源: http://www.webhek.com/post/multiple-background-css-animations.html