transition-delay 设置过渡延迟时间
transition-duration 设置完成过渡效果需要花费的时间
transition-timing-function 设置过渡效果的速度曲线
transition 设置过渡属性的复合写法
transform-origin 设置旋转元素的基点位置(不常用,了解即可)
transform-style 让转换的子元素保留3D转换(不常用,了解即可)
opacity 设置元素的透明度
@keyframes 设置关键帧动画
animation 设置动画属性
可以
Transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值,它的语法如下:
transition: property duration timing-function delay/*
property:执行过渡的属性
duration:执行过渡的持续时间
timing-function:执行过渡的速率模式
delay:延时多久执行
*/
transition-property
可取值:
none
没有属性会获得过渡效果。
all
所有属性都将获得过渡效果。
property
定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。
div{transition-property:width-moz-transition-property: width/* Firefox 4 */-webkit-transition-property:width/* Safari 和 Chrome */-o-transition-property:width/* Opera */}
transition-duration
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,回想一下如果只有transform属性,是不是变换啪地一下完成了。
div{transition-duration: 5s-moz-transition-duration: 5s/* Firefox 4 */-webkit-transition-duration: 5s/* Safari 和 Chrome */-o-transition-duration: 5s/* Opera */}transition-timing-function
既然是动画,那么就有动画的运行速率,不同的速度会产生不同的结果,以下是可取值。
ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
速率示意图
transition-delay
参数为时间,单位为s(秒)或者ms(毫秒),默认就是0,也就是立即执行,如果在多个动画直接有先后顺序,那么它就会派上用场。
把它们写在一起
浏览器内核的前缀不能忘啊,使用emmet神器来帮助你。
emmet使用如图所示:
-webkit-transition: all 0.5s ease-in-out 0s-o-transition: all 0.5s ease-in-out 0s
transition: all 0.5s ease-in-out 0s
如图所示
将它们放在一起的效果如下,可以很明显的发现它们之间的不同。
一、设置css动画
1.使用@keyframes设置关键帧:@keyframes donghua{
0%{
top:100px
left:100px
}
100%{
top:400px
left:800px
}
}
2.使用animation把他绑定在一个选择器上,名称是donghua,播放时间是5s,使用的函数是linear匀速,延迟时间0.5s:
div{animation: donghua 5s linear .5s
}
二、设置过渡属性
transition: transform 2s ease-in-out 0s
设置transform完成时间为2s,函数为慢进慢出,延迟时间为0s