transition、transform、animation三个属性的使用与区别

364 阅读3分钟


tansform(变换):

  1. 变换:

      就是一个整体的位置(或整体大小)发生变换. transform的所有变换都是围绕着x轴,y轴,中心点(Z轴)来进行变换的


 2.属性:
      translate 移动:

          translateX(200px) 是元素沿着X轴正方向移动200像素

          translateY(200px) 是元素沿着Y轴正方向移动200像素

      rotate(* deg):围绕中心点2D旋转若干度,单位为deg
          rotateX(* deg) 围绕X轴旋转若干度

          rotateY(* deg) 围绕Y轴旋转若干度

          rotateZ(* deg) 围绕Z轴旋转若干度

          rotate3d(x,y,z,* deg) 围绕自定义的轴旋转若干度

      scale缩放:

         scale(x,y)使元素水平方向和垂直方向同时缩放(也就是x轴和y轴同时缩放);
         scaleX(x)就只是水平方向进行缩放(x轴缩放);
         scaleY(y)仅缩放垂直方向(y轴)。
         scale(1.5)但它们具有相同的缩放中心点和技术,其中心点就是元素的中心位置,缩放基数  就是1(也就是参数是相对于1的多少倍),如果参数大于1元素就放大,反之元素就缩小。

     skew扭曲(倾斜): 
       扭曲在我看来就是拉动四个角,往外拉,在水平方向拉,在垂直方向拉,水平方向和垂直方向同时拉
       skewX(* deg) skewY(* deg) skew(x,y)




transition(过渡):

  1. 过渡:
      tansition是一个过渡属性,就是一个属性从一个值过渡到另一个值
      transition它只允许在两种状态之间进行过度,没有中间的值
  2. 属性:

        transition-property:指定过渡的CSS属性。 //all:默认值,表示指定元素所有支持       transition-property属性的样式
     transition-duration:指定完成过渡所需的时间。 //动画效果执行的时间
   transition-timing-function:指定过渡调速函数。//ease 由快到慢
   transition -delay:指定过渡开始出现的延迟时间。//要过多长时间才执行



animation(动画):

1. 动画:
    动画animation有两个关键,一个是animation本身的属性值,一个是keyframes的写法,
keyframes其实就是帧的集合,(每个帧呈现一种效果)

2. 属性:

    animation-name(动画名,也就是keyfram中定义的动画名)
    animation-duration(动画持续时间)
    animation-timing-function(动画变化的速率)
    animation-delay(动画延迟播放的时间)
    animation-iteration-count(动画循环的次数,infinite是无限次)
    animation-direction(动画的方向)
    animation-play-state动画的播放状态

3. keyframes的写法:

    @keyframes 动画名称{

           from{

           }

           to{

           }

      }