区分CSS中的 transition / transform / animation 的使用
1.transition 过度效果集合
使用场景:对所有动态修改CSS的操作均有效果,主要有以下几点
dom位置移动
opacity,颜色改变
dom尺寸变更,border
可配合 transform 属性使用
transition有四个参数,默认值为 all 0s ease 0s,按序分别对应:
需要过度的CSS属性名称
完成过渡的时间
过渡的速度曲线 [ 慢-快-慢 ease / 开始慢 ease-in / 最后慢 ease-out / 全慢 ease-in-out / 匀速 linear]
触发过渡开始的延时时间
2.transform 操作元素 2D 或 3D 转换、旋转、缩放、移动或倾斜。
3D效果首先设置 perspective 属性, perspective 值越大3D效果越逼真、线条具有抽象感
配合transtion使用
移动 translater(x,y)、translateX()、translateY()、translateZ()、translate3d(x,y,z)
旋转 rotate(x,y)、rotateX()、rotateY()、rotateZ()、rotate3d(x,y,z,deg)
缩放 scale(x,y)、 scaleX()、 scaleY()、 scaleZ()、 scale3d(x,y,z,deg)
倾斜 skew(x,y)、 skewX(deg)、skewY(deg) skew没有3D属性
3.animaition 动画属性
animation 属性需要配合 keyframes 函数使用,在 keyframes 内规定动画执行轨迹
animation 有以下6个属性:
animation-name 需要执行的 keyframe 函数名称
animation-duration 规定完成动画所花费的时间,以秒或毫秒计
animation-timing-function 动画的速度曲线 [ 慢-快-慢 ease / 开始慢 ease-in / 最后慢 ease-out / 全慢 ease-in-out / 匀速 linear]
animation-delay 规定在动画开始之前的延迟
animation-iteration-count 规定动画应该播放的次数 次数、infinite
animation-direction 规定是否应该轮流反向播放动画 normal、alternate
animation 属性在dom样式内执行所选中的 keyframes 函数
keyframes 内可以使用 transform 属性
keyframes 内简写动画过程可以使用 from、to,想控制更多过程可以使用百分比 0% - 100%
@keyframes animationName {
from{},
to{}
}
//百分比
@keyframes animationName {
0%{}
10%{}
...
100%{}
}
发表评论 (审核通过后显示评论):