2013年2月,W3C发布了CSS Transitions工作草案(http://www.w3.org/TR/css3-transitions/),该草案描述了CSS3过渡动画的基本实现方法和和属性。
现代浏览器(IE 10+、Firefox 16+和Opera 12.5+)都支持CSS3过渡动画,部分旧版浏览器支持私有属性,如Webkit引擎支持-webkit-transition,Mozilla Gecko引擎支持-moz-transition,Presto引擎支持-o-transition,IE6~IE9浏览器不支持transition属性,IE10支持transition属性。
transition属性包含多个子属性,用来设置动画细节,简单介绍如下,详细用法请参考CSS3参考手册。
- transition-property:定义过渡动画的CSS属性名称。
- transition-duration:定义转换动画的时间长度。
- transition-delay:定义开启过渡动画的延迟时间。
- transition-timing-function:定义过渡动画的类型。
CSS3过渡动画不能够自动播放,一般通过动态伪类触发,常用伪类说明如表1所示。
表1 CSS动态伪类
动态伪类 | 作用元素 | 说明 |
---|---|---|
:link | 只有链接 | 未访问的链接 |
:visited | 只有链接 | 访问过的链接 |
:hover | 所有元素 | 鼠标经过元素 |
:active | 所有元素 | 鼠标点击元素 |
:focus | 所有可被选中的元素 | 元素被选中 |
也可以通过Javascript事件触发,包括click、focus、mousemove、mouseover、mouseout等。