深入理解CSS3中transition的使用方法

yulia
yulia 原创
2018-09-11 16:01:17 1629浏览

可以让动画在CSS层面实现,此时不是利用setInterval(),不是定时器,而是底层C++在渲染,渲染动画的质量、丝滑程度都要远远优于JS、jQuery。

要颠覆我们传统制作网页动画的思维模式,现在的手机页面中,绝对不会有任何动画是setInterval()完成的,而都是过渡实现的。今后2~3年,PC端也会这样,过渡会淘汰setInterval()和animate函数。

语法:transition: property duration timing-function delay;时间的单位是:秒(s)。

transition-property 指定CSS属性的name,transition效果 none 没有属性会获得过渡效果。all 所有属性都将获得过渡效果。property 定义应用过渡效果的 CSS 属性名称列表,列表以逗号分隔。transition-duration transition效果需要指定多少秒或毫秒才能完成 规定完成过渡效果需要花费的时间(以秒或毫秒计)。默认值是 0,意味着不会有效果。

transition-timing-function指定transition效果的转速曲线

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) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
transition-delay 定义transition效果开始的时候 指定秒或毫秒数之前要等待切换效果开始

什么属性可以参与过渡?

几乎所有的CSS属性都能过渡。
JQuery transition
background-color
background-position
background-image
任何的变形transform都能够过渡

过渡动画的触发条件?

任何改变CSS的情况,都会触发过渡。比如:hover、加减类、干脆直接设置CSS。
例如:
直接设置CSS会引发过渡动画:

document.getElementById("box").style.width = "300px";

类名的改变会引发过渡动画:

document.getElementById("box").className = "long";

特别注意: transition 不能继承。

以上就是深入理解CSS3中transition的使用方法的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。