需求背景
继上一个扫码登录的需求之后,需要在APP里实现,产品希望扫码登录成功之后,有个缩小的动画让客户了解到入口在哪。其实也是想稍微了解一下CSS3动画,效果大概如图:
实现思路
1.写出页面
1.使用偏移与缩放
2.再一段时间内完成动画,并让画面停在最后一帧
具体实现
1.实现点击之后的modal页面,附带一个遮罩层。
1 |
|
如图:
2.实现偏移与缩放
偏移
1 | transform:translate(x,y); |
缩放
1 | transform:scale(x,y) |
用在modal上看看效果
1 | transform: translate(-42%,-44%) scale(0.1,0.1); |
缩放,偏移后效果如图
3.过渡
过渡属性 | |
---|---|
transition-property | 指定应用过渡的属性 |
transition-delay | 指定过渡动画开始之前的延时时间 |
transition-duration | 指定动画持续的时间 |
transition-timing-function | 指定动画计算中间值的方法 |
transition | 简写前面的属性 |
transition简写如下:
1 | transition: <transition-property> <transition-duration> <transition-timing-function> <transition-delay> |
transition-property
1 |
|
在鼠标移入div的时候,效果如图:
其实transition-property
指定某些属性,在变化的时候会有过渡的效果。
transition-delay
1 |
|
它的效果与上图类似,不过需要等待2秒之后才开始动画
transition-duration
动画经过多少时间执行完毕
transition-timing-function
动画执行的速率变化,它有以下的属性值
4.实现
1 |
|
声明了一个modal-scale
的类型,并且在点击登录的时候,加在背景层上,实现效果如下:
总结
使用CSS3属性需要考虑兼容性问题。在做3.0开发,应该会经常用到动画,之后用到再深入学一下。