【www.bbyears.com--中文酷站】
具体例子
img{
height:15px;
width:15px;
}
img:hover{
height: 450px;
width: 450px;
}
transition的作用在于,指定状态变化所需要的时间。
代码如下 img{transition: 1s;
}
我们还可以指定transition适用的属性,比如只适用于height。
代码如下 img{transition: 1s height;
}
这样一来,只有height的变化需要1秒实现,其他变化(主要是width)依然瞬间实现~
例子
代码如下怎么来实现这个功能呢?
#main-nav a{
opacity: 1;
-webkit-transition: opacity 0.3s;
-moz-transition: opacity 0.3s;
-webkit-animation-timing-function: ease-out;
-moz-animation-timing-function: ease-out;
}
#main-nav a:hover{
opacity: 0.5; }
· transition的使用注意
(1)目前,各大浏览器(包括IE 10)都已经支持无前缀的transition,所以transition已经可以很安全地不加浏览器前缀。
(2)不是所有的CSS属性都支持transition,完整的列表查看这里,以及具体的效果。
(3)transition需要明确知道,开始状态和结束状态的具体数值,才能计算出中间状态。比如,height从0px变化到100px,transition可以算出中间状态。但是,transition没法算出0px到auto的中间状态,也就是说,如果开始或结束的设置是height: auto,那么就不会产生动画效果。类似的情况还有,display: none到block,background: url(foo.jpg)到url(bar.jpg)等等。
· transition的局限
transition的优点在于简单易用,但是它有几个很大的局限。
(1)transition需要事件触发,所以没法在网页加载时自动发生。
(2)transition是一次性的,不能重复发生,除非一再触发。
(3)transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。
(4)一条transition规则,只能定义一个属性的变化,不能涉及多个属性。
CSS Animation就是为了解决这些问题而提出的。