1. transition
一定时间之内,一组css属性变换到另一组属性的动画展示过程。
属性:
transition-property:动画展示哪些属性,可以使用all关键字;
transition--duration:动画过程有多久;
transition-timing-function:linear,ease,ease-in,ease-out,ease-in-out,贝塞尔曲线等:控制动画速度变化;
transition-delay:动画是否延迟执行;
一般来说,将transition属性应用到最初的样式里,而不是放在结束的样式里,
即定义动画开始之前的元素外观的样式。
只需要给元素设置一次transition,浏览器就会负责以动画展示从一个样式到另一个样式,再返回最初样式的变化过程。
1. 需要一个事件来触发,比如hover,所以没法在网页加载时自动触发。
2. 是一次性的,不能重复发生,除非一再触发。
3. 只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。
4. 一条transition规则,只能定义一个属性的变化,不能涉及多个属性。
(引用阮一峰大神博客里的简介)
为了突破这些限制,animation出现了。
2. animation
与transition不同的是,animation可以通过keyframes显式控制当前帧的属性值,
而transition只能隐式来进行(不能指定每帧的属性值),所以相对而言animation的功能更加灵活。