通常前端工程师采用 gif 动画图片来表现 Ajax 的加载。但是现在 css3 已经引入了动画属性,我们可以在不采用 gif 动画图片的情况下,采用 css3 达到同样的 Ajax 加载动画效果。那么让我们现在开始来实现想要的效果。
重要提示:只支持 Webkit 内核的浏览器( Safari 和 Chrome )
示例
HTML
在这里我们只展示 demo 里第一个 Ajax 载入示例的代码。首先我们需要一个名为“ loading ”的容器,以放置所有的动画元素。然后我们需要为每一列定义一个单独的 div ,并且统一定义一个 class 属性。
- 'loading' >
- 'coloumn1' class = 'coloumns' >
- 'coloumn2' class = 'coloumns' >
- 'coloumn3' class = 'coloumns' >
- 'coloumn4' class = 'coloumns' >
- 'coloumn5' class = 'coloumns' >
- 'coloumn6' class = 'coloumns' >
用 CSS3 设计动画
下面所有的代码都带有注释。
- #loading{
- margin-top:30px;
- float :left;
- width:95px;
- height:32px;
- background-color:#779ec2;
- margin-left:30px;
- /* CSS3圆角边框 */
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- }
- .coloumns{
- background-color:#fff;
- border:1px solid #fff;
- float :left;
- height:30px;
- margin-left:5px;
- width:10px;
- /* 在这儿我们定义一个动画名,随后我们将会实现它 */
- -webkit-animation-name: animation;
- /* 动画循环一次的总时间 */
- -webkit-animation-duration: 3s;
- /* 动画的循环次数,我们设置为无穷大 */
- -webkit-animation-iteration-count: infinite;
- -webkit-animation-direction: linear;
- /* 最初所有列的透明度都为0 */
- opacity:0;
- /* 开始时将它缩放为0.8 */
- -webkit-transform:scale(0.8);
- }
- #coloumn1{
- /* 第一列动画延迟0.3秒 */
- -webkit-animation-delay: .3s;
- }
- #coloumn2{
- /* 第二列动画延迟0.4秒 */
- -webkit-animation-delay: .4s;
- }
- #coloumn3{
- /* 第三列动画延迟0.5秒*/
- -webkit-animation-delay: .5s;
- }
- #coloumn4{
- /* 第四列动画延迟0.6秒*/
- -webkit-animation-delay: .6s;
- }
- #coloumn5{