CSS animation 与 CSS transition 有何区别
发布网友
发布时间:2022-04-22 08:14
我来回答
共3个回答
热心网友
时间:2022-04-28 13:22
一、指代不同
1、animation :属性是一个简写属性,用于设置六个动画属性。
2、transition:属性是一个简写属性,用于设置四个过渡属性。
二、特点不同
1、animation :animation: name ration timing-function delay iteration-count direction;规定需要绑定到选择器的 keyframe 名称。规定完成动画所花费的时间,以秒或毫秒计。
2、transition:transition: property ration timing-function delay;规定设置过渡效果的 CSS 属性的名称。规定完成过渡效果需要多少秒或毫秒。
三、要求不同
1、animation :请始终规定 animation-ration 属性,否则时长为 0,就不会播放动画了。
2、transition:始终设置 transition-ration 属性,否则时长为 0,就不会产生过渡效果。
参考资料来源:百度百科- CSS3
参考资料来源:百度百科-CSS语法
热心网友
时间:2022-04-28 14:40
1、animation多两个参数 循环和动画方式
2、transition 不能自行触发,通过hover等动作,或者结合js进行触发。animation可以自行运行
3、transition可控性相对较弱,只能够指定起始和结束的状态,而animation可以定义多个关键帧
4、动画在运行结束之后,需要回到初始状态
5、transition的作用,可以用一句话来概括“平滑改变CSS值”
热心网友
时间:2022-04-28 16:15
Transition作用是指定了某一个属性(如width、left、transform等)在两个值之间如何过渡,他包括transition-property、transition-ration、transition-timing-function、transition-delay等。
如果某一个元素指定了Transiton,那么当其某个属性改变的时候就会按照Transition指定的方式进行过渡,动画就这么产生了。
Animation也是通过指定某一个属性(如width、left、transform等)在两个值之间如何过渡来实现动画的,与Transition不同的是,Animation可以通过keyframe显式控制当前帧的属性值,而Transition只能隐式来进行(不能指定每帧的属性值),所以相对而言Animation的功能更加灵活。另外一个区别是Animation通过模拟属性值改变来实现动画,动画结束之后元素的属性没有变化;而Transition确实改变了元素的属性值,动画结束之后元素的属性发生了变化;这一点,这在实际应用中会产生很大的区别,也决定了二者各有春秋。
Animation模块包括了animation-name、animation-ration、animation-timing-function、animation-delay、animation-iteration-count、animation-play-state等属性。
其实说这么多,一句话就是:Transform和width、left一样,定义了元素很多静态样式,只不过通过Transition和Animation指定如何改变不同的属性值,才实现了动画。