transition的唧唧歪歪
2015-12-19 16:59
218 查看
transition是css3新出的一个属性,大白话叫做过渡。
主要有下面这四个属性:
transition-property、transition-duration、transition-timing-function、transition-delay(我做了四个预览效果,点击可查看)
大白话分别是,需要过渡的属性,所用时间,时间曲线(或者说过渡速度?),还有最后的就叫做延迟。
注意:Internet Explorer 10, Firefox, Opera, Chrome, 和Opera 支持transition 属性。Safari 需要前缀 -webkit-。Internet Explorer 9 以及更早的版本,不支持 transition 属性。Chrome 25 以及更早的版本,需要前缀 -webkit-
好了,咱们来一个一个说。首先是transition-property这个,它规定的是过渡属性的名称,比如宽度(width)、颜色(color)等等,也可以是所有(all),甚至是没有(none);
transition-property效果如下:
过渡的是宽度
过渡的是背景颜色
然后说这个所用时间transition-duration,单位可以是秒(s),也可以是毫秒(ms);
transition-duration效果如下:
过渡1秒
过渡5秒
时间曲线transition-timing-function这个属性是很奇妙的一个属性,它涉及到一个“贝塞尔曲线(cubic-bezier)“的概念,在这用张图给大家说一下:
![](http://images2015.cnblogs.com/blog/829973/201512/829973-20151219165440599-1847544100.jpg)
这张图就是贝塞尔曲线(黑长粗),横向是时间,纵向是完成度,图中有四个点P0、P1、P2、P3,P0和P3是固定的点,P1和P2是可操作的点,设置的四个数值前两个是P1的坐标,后两个是P2的坐标,四个值的需是0~1之间(包括0和1),然后生成的这个贝塞尔曲线就是时间曲线了。
注:时间曲线有几个首选值,分别是:
linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)
ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
这里还有一个特殊属性:steps,格式是这样的:
steps(<integer>[,[start|end]]) —— 这个属性写出来是这样:
还有这样:
简单来说这个效果类似于蹦蹦跳跳的完成过渡,第一个数字是说跳几次,第二个参数是说在何时跳,具体还是看效果吧,我嘴笨……
transition-timing-function效果如下:
贝塞尔曲线1,0,0,1
贝塞尔曲线0,1,1,0
steps(3, start)
steps(3, end)
最后一个是延迟transition-delay,就是多久之后开始,默认是0,单位是秒(s)或者毫秒(ms)。
transition-delay效果如下:
2秒延迟
无延迟
所有案例文件在这
效果集合在这
主要有下面这四个属性:
transition-property、transition-duration、transition-timing-function、transition-delay(我做了四个预览效果,点击可查看)
大白话分别是,需要过渡的属性,所用时间,时间曲线(或者说过渡速度?),还有最后的就叫做延迟。
注意:Internet Explorer 10, Firefox, Opera, Chrome, 和Opera 支持transition 属性。Safari 需要前缀 -webkit-。Internet Explorer 9 以及更早的版本,不支持 transition 属性。Chrome 25 以及更早的版本,需要前缀 -webkit-
好了,咱们来一个一个说。首先是transition-property这个,它规定的是过渡属性的名称,比如宽度(width)、颜色(color)等等,也可以是所有(all),甚至是没有(none);
transition-property效果如下:
过渡的是宽度
过渡的是背景颜色
然后说这个所用时间transition-duration,单位可以是秒(s),也可以是毫秒(ms);
transition-duration效果如下:
过渡1秒
过渡5秒
时间曲线transition-timing-function这个属性是很奇妙的一个属性,它涉及到一个“贝塞尔曲线(cubic-bezier)“的概念,在这用张图给大家说一下:
![](http://images2015.cnblogs.com/blog/829973/201512/829973-20151219165440599-1847544100.jpg)
这张图就是贝塞尔曲线(黑长粗),横向是时间,纵向是完成度,图中有四个点P0、P1、P2、P3,P0和P3是固定的点,P1和P2是可操作的点,设置的四个数值前两个是P1的坐标,后两个是P2的坐标,四个值的需是0~1之间(包括0和1),然后生成的这个贝塞尔曲线就是时间曲线了。
注:时间曲线有几个首选值,分别是:
linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)
ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
这里还有一个特殊属性:steps,格式是这样的:
steps(<integer>[,[start|end]]) —— 这个属性写出来是这样:
transition-timing-function: steps(3, start);
还有这样:
transition-timing-function: steps(3, end);
简单来说这个效果类似于蹦蹦跳跳的完成过渡,第一个数字是说跳几次,第二个参数是说在何时跳,具体还是看效果吧,我嘴笨……
transition-timing-function效果如下:
贝塞尔曲线1,0,0,1
贝塞尔曲线0,1,1,0
steps(3, start)
steps(3, end)
最后一个是延迟transition-delay,就是多久之后开始,默认是0,单位是秒(s)或者毫秒(ms)。
transition-delay效果如下:
2秒延迟
无延迟
所有案例文件在这
效果集合在这
相关文章推荐
- KNN ( K近邻算法 )
- 文件IO
- Day 03
- 关于java的字符串操作
- Acjoy群赛D-Grade题解
- Oracle 定义类型
- Cocos2d-x3.1 粒子效果演示样例
- 【杭电】[2003]求绝对值
- 蓝桥杯校赛题目以及解析
- 星空-许巍
- 图像处理之增强---图像模糊检测
- collections 自定义排序
- lambda环境搭建
- getHibernateTemplate()和getSession()区别(转)
- 龙管家提示没有找到系统运行的相关配置信息
- 面试题整理
- NSString属性什么时候用copy,什么时候用strong?
- poj1990两个树状数组
- php把从数据库读取出来的数据存放到数组里,然后数组不能直接使用,要转为字符串
- mysql常用技巧