loading效果我们经常会见到,在页面没有加载完成之前,展示一个loading效果,也是一个用户体验很好的细节。在这一节中,我们尝试使用CSS3动画结合CSS3变形来制作一个简单而非常实用的loading效果。

实现代码如下:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> #box{position:relative;} #box>i { position:absolute; top:0; width:5px; height:40px; background-color:hotpink; border-radius:6px; } /*第1个i元素*/ #box>i:nth-child(1) { left: 0; animation: loading 1s ease-in 0.1s infinite; } /*第2个i元素*/ #box>i:nth-child(2) { left: 10px; animation: loading 1s ease-in 0.3s infinite; } /*第3个i元素*/ #box>i:nth-child(3) { left: 20px; animation: loading 1s ease-in 0.6s infinite; } /*第4个i元素*/ #box>i:nth-child(4) { left: 30px; animation: loading 1s ease-in 0.3s infinite; } /*定义动画*/ @keyframes loading { 0%{transform:scaleY(1);} 50%{transform:scaleY(0.5);} 100%{transform:scaleY(1);} } </style> </head> <body> <div id="box"> <i></i> <i></i> <i></i> <i></i> </div> </body> </html>

浏览器预览效果如下图所示。

分析:

实现loading效果是非常简单的,关键是使用animation属性配合transform:scaleY()来实现。

常见问题:

1.如果我想练习一下CSS3特效,有什么网站可以参考的呢?

可以参考一下绿叶学习网(www.lvyestudy.com),这是我为“从0到1”系列图书专门开发的一个配套网站。上面有大量的CSS3特效,包括:幽灵按钮、3D旋转、脉冲动画、闪光效果等。小伙伴们可以使用控制台来查看相应的代码是怎么编写的。