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旋转、脉冲动画、闪光效果等。小伙伴们可以使用控制台来查看相应的代码是怎么编写的。