0%

CSS3的Transition动画

CSS3之前的一些动画,都是通过JS的setTimeout函数,用定时器设置DOM元素的属性,以实现动画。

现在一些简单的动画,可以通过CSS3自带的属性来实现,简单方便。

最简单的属性就是Transition

一个元素上设置了Transition属性后,这个元素的CSS样式的变化,无论是长宽、颜色、字体,就会根据这里的设置进行变化。

比如这个例子

有一些动画是通过js来实现,有一些则是简单的通过hover属性来实现,这里动画效果和js的基本没差别,只是当hover没有了以后,还是退回到原来的效果。

除了简单的边框,背景这类的效果,CSS3还提供了transform这个属性,可以实现更为复杂一点的动画,比如是现实一个弹出式的popup

同时还得利用transform-origin CSS属性。这个属性让你更改一个元素变形的原点。例如,rotate()的transform-origin 是旋转的中心点 (这个属性的应用原理是先用这个属性的负值translate该元素,进行变形,然后再用这个属性的值把元素translate回去)。

还是看看例子吧

参考文档:

https://developer.mozilla.org/zh-CN/docs/Web/CSS/transition