这里先附上我做的思维导图,主要是对transform和transition和animation的知识点总结。
第一部分 transition的用法
transition的属性是指过渡属性。他有四个属性。如下
1transition-property 检索或设置对象中的参与过渡属性。通俗的讲就是要取hover后定义的属性名。他的值是
1no 没有属性会获得过渡效果
2all 所有属性都会获得过渡效果
3property 定义应用过渡效果的CSS属性列表,列表以逗号隔开
2transition-duration 检索或设置对象过渡的持续时间
3transition-timing-function 检索或设置对象过渡的类型
值
1linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。匀速
2ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
3ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。加速
4ease-in-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。减速
5 cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。自定义速度
4transition-delay 检索或设置对象过渡的时间
transiton的使用注意事项
(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就是为了解决这些问题而提出的。