CSS animation 与 CSS transition 有何区别
答案:2 悬赏:20 手机版
解决时间 2021-01-24 23:23
- 提问者网友:無理詩人
- 2021-01-24 19:12
CSS animation 与 CSS transition 有何区别
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-01-24 19:59
Transition作用是指定了某一个属性(如width、left、transform等)在两个值之间如何过渡,他包括transition-property、transition-duration、transition-timing-function、transition-delay等。
如果某一个元素指定了Transiton,那么当其某个属性改变的时候就会按照Transition指定的方式进行过渡,动画就这么产生了。
Animation也是通过指定某一个属性(如width、left、transform等)在两个值之间如何过渡来实现动画的,与Transition不同的是,Animation可以通过keyframe显式控制当前帧的属性值,而Transition只能隐式来进行(不能指定每帧的属性值),所以相对而言Animation的功能更加灵活。另外一个区别是Animation通过模拟属性值改变来实现动画,动画结束之后元素的属性没有变化;而Transition确实改变了元素的属性值,动画结束之后元素的属性发生了变化;这一点,这在实际应用中会产生很大的区别,也决定了二者各有春秋。
Animation模块包括了animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count、animation-play-state等属性。
其实说这么多,一句话就是:Transform和width、left一样,定义了元素很多静态样式,只不过通过Transition和Animation指定如何改变不同的属性值,才实现了动画。
如果某一个元素指定了Transiton,那么当其某个属性改变的时候就会按照Transition指定的方式进行过渡,动画就这么产生了。
Animation也是通过指定某一个属性(如width、left、transform等)在两个值之间如何过渡来实现动画的,与Transition不同的是,Animation可以通过keyframe显式控制当前帧的属性值,而Transition只能隐式来进行(不能指定每帧的属性值),所以相对而言Animation的功能更加灵活。另外一个区别是Animation通过模拟属性值改变来实现动画,动画结束之后元素的属性没有变化;而Transition确实改变了元素的属性值,动画结束之后元素的属性发生了变化;这一点,这在实际应用中会产生很大的区别,也决定了二者各有春秋。
Animation模块包括了animation-name、animation-duration、animation-timing-function、animation-delay、animation-iteration-count、animation-play-state等属性。
其实说这么多,一句话就是:Transform和width、left一样,定义了元素很多静态样式,只不过通过Transition和Animation指定如何改变不同的属性值,才实现了动画。
全部回答
- 1楼网友:一把行者刀
- 2021-01-24 20:55
transition 强调过渡,transition + transform = 两个关键帧的animation animation 强调流程与控制,duration + transformlib + control = 多个关键帧的animation 如果只有两个关键帧我会选择transition + transform 复杂动画就要考虑把变换写成tranformlib以class方式调用,control与duration写到appclass 说明:transform指所有css属性变换,transformlib指所有animate创建的变换,control包括动画次数,关键帧与时间的设定等。著名的animate.css就是把过渡,变换,控制三个分离,构成可以复用动画库。我刚开始也很郁闷,为什么要搞两个动画属性。其实是有区别的,至于两种属性有功能重叠的部分就根据喜好来选择啦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯