transition和animation的区别
这两个近亲一直在用,但是对于细节并没有过多深究,今天还是来比较细品一下吧。
1. Transition
transition允许您平滑地更改属性值,但它们总是需要像hover
一样触发。属性更改不会立即生效。在一段时间内,属性会发生变化。例如,如果您将元素的颜色从白色更改为黑色,更改会立即发生。CSS 更改按照可以按照自定义的加速度曲线发生。
在两个状态之间转换的动画称为隐式转换,因为开始状态和最终状态之间的状态是由浏览器隐式定义的。
2. Animation
animation允许 HTML 元素的动画,不像过渡只执行点 A 到点 B 操作,但也可以在两者之间进行更多操作。动画包括两个步骤,样式表中定义的 CSS 动画和一组指示动画开始和结束状态的关键帧。
过渡和动画的区别:
Transition | Animation |
---|---|
不能循环(可以这样做,但其不是为此设计的) | 可以循环播放 |
需要触发器才能运行 | 不需要任何条件 |
很容易使用JavaScript进行操作 | 很难在 JavaScript 中工作。操作关键帧并为其分配新值的语法非常复杂。 |
动画对象从一个点到另一个点。 | 允许定义从一种状态到另一种具有各种属性和时间范围的关键帧。 |
使用 JavaScript 操作值。 | 具有多个关键帧和简单循环为动画提供了灵活性。 |
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。