animation 和 transition 的区别

  animation 可以用 name 设置动画的名称,用 duration 设置动画完成的周期,用 timing-function 设置动画的速度曲线,delay 设置动画什么时候开始,iteration-count 设置动画播放的次数,direction 规定下一个周期是否逆向的播放,play-state 动画是否正在进行或者暂停,fill-mode 设置动画停了之后位置什么状态

  transition 用 property 去设置过渡效果的属性名称,duration 设置过渡效果的周期,timing-function 规定速度效果的速度曲线,delay 设定过渡效果什么时候开始;

  

  区别:

    1、transition 是过渡,是样式值的变化的过程,只有开始和结束;animation 其实也叫关键帧,通过和 keyframe 结合可以设置中间帧的一个状态;

    2、animation 配合 @keyframe 可以不触发时间就触发这个过程,而 transition 需要通过 hover 或者 js 事件来配合触发;

    3、animation 可以设置很多的属性,比如循环次数,动画结束的状态等等,transition 只能触发一次;

    4、animation 可以结合 keyframe 设置每一帧,但是 transition 只有两帧;

    5、在性能方面:浏览器有一个主线程和排版线程;主线程一般是对 js 运行的、页面布局、生成位图等等,然后把生成好的位图传递给排版线程,而排版线程会通过 GPU 将位图绘制到页面上,也会向主线程请求位图等等;我们在用使用 aniamtion 的时候这样就可以改变很多属性,像我们改变了 width、height、postion 等等这些改变文档流的属性的时候就会引起,页面的回流和重绘,对性能影响就比较大,但是我们用 transition 的时候一般会结合 tansfrom 来进行旋转和缩放等不会生成新的位图,当然也就不会引起页面的重排了;

原文地址:https://www.cnblogs.com/mufc/p/11468742.html

时间: 2024-08-01 00:05:10

animation 和 transition 的区别的相关文章

animation和transition得区别

animation 和 transition 具体使用方法简易实例 animation .box{ width:100px; height:100px; backgound-color:red; position:absolute; top:0; right: 300px; animation: myanimation 2s ease-in; -moz-animation:myanimation 2s ease-in; -webkit-animation:myanimation 2s ease-

CSS3动画 transition和animation的用法和区别

transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc -moz-   opera -o-  区别: transition是过度属性,需要用户自行触发,触发时间比如:点击,鼠标悬浮等 animation是动画属性,其不需要用户触发,网页加载完成后自动执行 使用: transation{过度属性 过度时间 动画类型 延迟时间} -o-transation{过

animation以及transition的综合运用

Css动画:animation: name:定义动画的名称,和后面的@keyframes一起使用(关键帧),而关键帧里面可以设置from,to,百分比等等. 而且一般在外层设置动画的相关属性,如name,duration,iteration-count,timing-function,alternate-reverse.在外层设置相对定位,里层设置绝对定位. 一般来说会设置三层div来显示3D效果,最外层加上-webkit-perspective: 1000px;第二层-webkit-trans

CSS3中的动画,animation、transition和transform属性的运用

CSS3中使用animation属性,可以不适用JavaScript而制作动画,运用的好,可以做到很多漂亮的效果,最近有空,来摸索一下animation的使用,做几个demo玩玩 animation属性的介绍 animation属性能够改变元素的位置和各种css属性 animation 属性是一个简写属性,用于设置六个动画属性: animation-name 需要绑定到选择器的keyframe的名称(由@keyframe自定义在下边) animation-duration 规定完成动画花费的时间

CSS动画 animation与transition

一.区分容易混淆的几个属性和值 先区分一下css中的几个属性:animation(动画).transition(过渡).transform(变形).translate(移动). CSS3中的transform(变形)属性用于内联元素和块级元素,可以旋转.扭曲.缩放.移动元素,它的属性值有以下五个:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix: transform(变形)是CSS3中的元素的属性,而translate只是transform的一个属性

animation与transition

animation 动画,无法直接决定开始时间 demo1 1 @-webkit-keyframes demo-animation1{ 2 0% { 3 -webkit-transform:translate3d(0,0,0); 4 transform:translate3d(0,0,0); 5 } 6 100% { 7 -webkit-transform:translate3d(10px,0,0); 8 transform:translate3d(10px,0,0); 9 } 10 } 11

css3动画 --- Animation和Transition

Animation animation属性是以下属性的一个简写属性形式. animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-fill-mode animation-play-state 初始值 animation-name: none animation-duration: 0s an

CSS动画效果之animation

Y(^o^)Y css动画大乱弹之animation. 概述 什么是animation呢?在回答这个问题之前,先要说明什么叫做@keyframe(关键帧).@keyframe算是一个动画模板.在其中,可以使用百分比,如从0%到100%的任意值,分别在每个百分比中,加上不同的属性,从而让元素达到一种在不断变化的动画效果.这和我们制作flash动画一样,我们只需设计几个关键帧,系统就能生成动画啦! 一个@keyframe例子: 1 /*定义关键帧动画*/ 2 @keyframes myframe {

transform、transition 和 animation区别

CSS3中和动画有关的属性有三个 transform.transition 和 animation.下面来一一说明:        transform   从字面来看transform的释义为改变,使…变形:转换 .这里我们就可以理解为变形.那都能怎么变呢? none 表示不进行变换: rotate 旋转            transform:rotate(20deg) 旋转角度可以为负数.需要先有transform-origin定义旋转的基点可为left top center right