过渡
CSS3提供了强大的过渡属性,它可以在不使用Flash动画或者JavaScript脚本的情况下,为元素从一种样式转变为另一种样式时添加效果,例如渐显、渐弱、动画快慢等。
1.transition-property属性
transition-property 属性用于指定应用过渡效果的CSS属性的名称。
语法:
transition-property: none | all | property;
其属性值的相关属性为:
属性值 | 描述 |
---|---|
none | 没有属性会获得过渡效果。 |
all | 所有属性都将获得过渡效果。 |
property | 定义应用过渡效果的CSS属性名称,多个名称之间以逗号分隔。 |
2.transition-duration属性
transition-duration属性用于定义过渡效果花费的时间,默认值为0,常用单位是秒(s)或者毫秒(ms)。
语法:
transition-duration:time;
3.transition-timing-function属性
transition-timing-function属性规定过渡效果的速度曲线,默认值为“ease“。
语法:
transition-timing-function:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);
其相关属性的取值如下:
属性值 | 描述 |
---|---|
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) | 定义用于加速或者减速的贝塞尔曲线的形状,它们的值在0~1之间。 |
4.transition-delay属性
transition-delay属性规定过渡效果何时开始,默认值为0,常用单位是秒(s)或者毫秒(ms)。
语法:
transition-delay:time;
这里需要注意的是:当输入的时间是正数时,表示过渡动作会延迟触发。当输入的时间是负数时,表示过渡动作会从该时间点开始,之前的动作被截断。
5.transition属性
transition属性是一个复合属性,用于在一个属性中设置transition-property、transition-duration、transition-timing-function、transition-delay四个过渡属性。
语法:
transition:property duration timing-function delay;
使用transition属性设置多个过渡效果时,它的各个参数必须按照顺序进行定义,不能颠倒。
例如:`transition:border-radius 5s ease-in-out 2s;
无论是单个属性还是简写属性,使用时都可以实现多个过渡效果。如果使用transition简写属性设置多种过渡效果,需要为每个过渡属性集中指定所有的值,并且使用逗号进行分隔。
可以记住一个口诀:谁做过渡给谁加。
6.过渡和变形的区别
1、变形能够设置对象的中心点;过渡默认是对象的左上角,不能改变
2、过渡效果是针对元素的属性进行的改变;变形是针对整个元素进行的改变
3、过渡效果可以设定过渡的时间、曲线、延迟等;变形不能设置,变形是瞬间完成的变化
4、过渡、变形都不会对其他元素的布局产生影响
5、两者一般都会设置触发的条件
`