W3C标准中对CSS3的transition这是样描述的:“CSS的transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。”
transition 主要有四个参数
transition-property
检索或设置对象中的参与过渡的属性(全部就写all), 具体参照css手册transition-duration
检索或设置对象过渡的持续时间transition-timing-function
检索或设置对象中过渡的动画类型transition-delay
检索或设置对象延迟过渡的时间
transition-timing-function 参数介绍
- linear: 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
- ease: 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
- ease-in: 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
- ease-out: 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
- ease-in-out: 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
- cubic-bezier(n,n,n,n): 特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内。
下面的例子会很好的理解这几个函数
1 | <div class="transition-container"> |
1 | div.small { |
把鼠标放到图片上看效果
linear
ease
ease-in
ease-out
ease-in-out
再来个例子,把鼠标放到图片上看效果
1 | .css3-transition-div { |
<div class="css3-transition-div"></div>