温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CSS3中transition, transform和animation的区别是什么

发布时间:2022-03-08 11:08:31 来源:亿速云 阅读:166 作者:iii 栏目:web开发

本文小编为大家详细介绍“CSS3中transition, transform和animation的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS3中transition, transform和animation的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    transition

    transition允许css的属性值在一定的时间区间内平滑地过渡,语法如下:

    transition:transition-propertytransition-durationtransition-timing-functiontransition-delay[,...]

    transition的相关属性:

    transition-property:用来指定执行transition效果的属性,可以为none,all或者特定的属性。

    transition-duration:动画执行的持续时间,单位为s(秒)或者ms(毫秒)。

    transition-timing-function:变换速率效果,可选值为ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier(自定义时间曲线)。

    transition-delay:用来指定动画开始执行的时间,取值同transition-duration,但是可以为负数。

    transform

    transform分为2D和3D,这里暂时只介绍比较常用的2Dtransform,其主要包含以下几种变换:旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix,语法如下:

    transform:rotate|scale|skew|translate|matrix;

    transform的相关属性:

    rotate旋转

    rotate的单位是deg度,正数表示顺时针旋转,负数表示逆时针旋转。

    scale缩放

    scale的取值范围是0~n,小于1时表示缩小,反之表示放大。例如scale(0.5,2)表示水平方向缩小1倍,垂直方向放大1倍,另外,也可以通过scaleX或者scaleY对一个方向进行设置。

    skew扭曲

    skew的单位跟rotate一样都是deg度。例如skew(30deg,10deg)表示水平方向倾斜30度,垂直方向倾斜10度。

    translate偏移

    偏移同样包括水平偏移和垂直偏移。translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动);translateX(x)仅水平方向移动(X轴移动);translateY(Y)仅垂直方向移动(Y轴移动)。

    animation

    CSS3中的animation是通过一个叫Keyframes关键帧的玩意来控制的,他的命名是由"@keyframes"开头,后面紧接着是这个“动画的名称”加上一对花括号“{}”,括号中就是一些不同时间段样式规则,有点像我们css的样式写法一样。对于一个"@keyframes"中的样式规则是由多个百分比构成的,如“0%”到"100%"之间,语法如下:

    @keyframesIDENT{

    from{

    Properties:Propertiesvalue;

    }

    Percentage{

    Properties:Propertiesvalue;

    }

    to{

    Properties:Propertiesvalue;

    }

    }

    或者全部写成百分比的形式:

    @keyframesIDENT{

    0%{

    Properties:Propertiesvalue;

    }

    Percentage{

    Properties:Propertiesvalue;

    }

    100%{

    Properties:Propertiesvalue;

    }

    }

    animation和transition一样有自己相对应的属性,那么在animation主要有以下几种:animation-name;animation-duration;animation-timing-function;animation-delay;animation-iteration-count;animation-direction;animation-play-state。下面对其中的一些属性进行解释:

    animation-name关键帧名:

    用来定义一个动画的名称,也就是由前面的keyframes创建的动画名,默认值为none,当值为none时,将没有任何动画效果。如果我们要同时附几个animation给一个元素,只要用逗号,隔开即可。

    animation-iteration-count动画循环次数:

    默认为1,如果要进行无限循环,只要设为infinite即可。

    animation-direction动画播放的方向:

    其只有两个值,默认值为normal,如果设置为normal时,动画的每次循环都是向前播放;另一个值是alternate,他的作用是,动画播放在第偶数次向前播放,第奇数次向反方向播放。

    animation-play-state播放状态:

    其主要有两个值,running和paused,其中running为默认值。可以通过paused将正在播放的动画停下了,也可以通过running将暂停的动画重新播放。这个属性不常用。

CSS3中transition, transform和animation的区别是什么

读到这里,这篇“CSS3中transition, transform和animation的区别是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI