CSS-loading
曾经以为,loading的制作需要一些比较高深的动画技术,后来发现大多数loading都可以用“障眼法”做出来。比如一个旋转的圆圈,并不都是将gif图放进去,有些就是画个静止图像,然后让它旋转就完了。gif图也可以,但是加载时间比较长。
CSS就可以做出大多数的loading,比如:



如何制作?
loading1
1、HTML:
1 | <div id="ddr"> |
2、CSS:
1 |
|
loading2
1、HTML
1 |
|
2、CSS
1 | #loading4{ |
loading3
1、HTML:
1 | <div id="circle"></div> |
2、CSS
1 |
|
loading4
0、原理

如图,先画一个正方形,这个正方形就是环形loading的轨道(现在还不是),再将一个圆放在上面,充当遮蔽物。

运用clip-path(原先是clip,但是这个属性即将被删除。另外clip-path属性兼容性很差)属性可以裁剪图像,将上面的圆裁为一半,假如这个圆的右半部分一直看不见,旋转左边这个半圆,会出现怎样的效果呢?


如图,就是这种效果,这时候再加一个遮罩,就形成了下面这种效果:

再将最下面的正方形变成圆形(变成真正的轨道),旋转橙色部分的圆环,底部青色的就会露出来,就形成了进度条的效果

这是左边的一半,将右边的一半补齐:

中间白色部分是mask遮罩,加上相应的文字,调整颜色就ok啦!

这里的渐变效果并不是径向渐变,如果用径向渐变制作,效果会更好。
1、HTML
1 |
|
2、CSS
1 | *{ |
3、JS更新内部进度
1 | function init() { |
逢年过节,百度或者谷歌都会在首页播放一段动画,比如元宵节:

这个动画不仅仅是gif图,有时候是一张长长的包含所有帧的图片:

仿照animation一帧一桢的思路,可以将这张图片做成动画:
1 | #picHolder{ |
1 | function animation () { |
0%