主要就是用 transition 属性,然后其中指定每一种过渡的时间。
<style type="text/css"> div { width:100px; height:100px; background:#00f; transition:width 2s linear 1s, background 3s; } div:hover { width:50px; background:#f00; } </style> <div></div>
transition:width 2s linear 1s, background 3s;
我们来解释一下:表示 width 过渡需要 2 秒,延迟 1 秒开始(常常省略),linear 表示整个过渡过程很均匀。background 过渡需要 3 秒。注意 width 一定要指明具体尺寸,不指定或指定 auto,将不会有过渡效果。
如上,多个属性要分开设置的话,使用逗号隔开。
第一个参数
表示哪个(些)属性要执行过渡效果,如果是 all,则表示写了的全部属性都要。
第二个参数
表示过滤需要多久。
s,表示“秒"。
ms,表示“毫秒”。
第三个参数
可以是以下值:
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(x1, y1, x2, y2):请参见 CSS 3 动画问答-贝塞尔曲线 cubic-bezier。
第四个参数
通常省略,表示延迟几秒执行。
s,表示“秒"。
ms,表示“毫秒”。
注意:如果是 0,要么省略,要么带上单位,这里不能不带单位。
相关阅读