transform

  • 定义:转换结果,表示一个进行相应转换效果后的一个状态/帧。

  • 常用值

    • translate(x, y):平移元素,x 和 y 代表水平和垂直的移动距离。
    • rotate(angle):旋转元素,angle 代表旋转的角度。
    • scale(x, y):缩放元素,x 和 y 代表水平和垂直方向的缩放比例。
    • skew(x, y):倾斜元素,x 和 y 代表水平方向和垂直方向的倾斜角度。
  • 示例

    .box {
      transform: translate(10px, 20px) rotate(45deg) scale(1.5);
    }
    
    

transition

  • 定义:过渡方式,表示从一个状态向另一个状态变化/过渡过程中的变化方式。它不关心前后两个状态是怎样的,只规定变化过程是怎么进行的。

  • 常用值

    • transition-property: 指定要过渡的 CSS 属性的名称。例如,color、background-color 等。
    • transition-duration: 指定过渡效果持续的时间,以秒或毫秒为单位。
    • transition-timing-function: 指定过渡效果的速度曲线。它可以是 linear(线性)、ease(渐入渐出)、ease-in(渐入)、ease-out(渐出)、ease-in-out(先渐入后渐出)等等。
    • transition-delay: 指定过渡效果开始之前的延迟时间,以秒或毫秒为单位。
  • 示例

    /* 对所有属性都应用过渡效果 */
    .element {
      transition: all 0.3s ease;
    }
    
    /* 对指定属性(颜色)应用过渡效果 */
    .element {
      transition: color 0.3s ease-in-out;
    }
    

animation

  • 定义: 动画,规定了若干个关键帧,以及帧与帧之间的过渡方式。

  • 常用参数

    • animation-name:指定所使用的动画名称(对应定义的 @keyframes)。
    • animation-duration:指定动画的持续时间。
    • animation-timing-function:指定动画的速度曲线。
    • animation-delay:指定动画效果的延迟时间。
    • animation-iteration-count:指定动画的循环次数。
    • animation-direction:指定动画的播放方向(如 normal、reverse 等)。
  • 示例

    @keyframes example {
      from { transform: translateY(0); }
      to { transform: translateY(100px); }
    }
    
    .box {
      animation: example 2s infinite alternate;
    }