CSS-简述transform,transition,animation 的作用

152 阅读2分钟

一. transform(空间转化)

使用transform属性实现元素在空间内的位移、旋转、缩放等效果

  1. 平移

    transform:translateZ() : 可以实现z轴方向的位置偏移(z轴是指垂直屏幕向外的轴)

    transform:translate3d(x,y,z)

  2. 旋转

    transform:rotateZ() : 平面旋转就是围绕Z轴旋转

    transform:rotateX()

    transform:rotateY()

    transform:rotate3d(x,y,z,deg) : x,y,z的作用是描述一个方向,一个向量

  3. 缩放

    scale3d()

  4. 透视(视距)

    使用perspective属性实现透视效果(添加给父级

    取值:像素单位数值, 数值一般在800 – 1200。

    就是指人眼观察物体的距离

  5. 3d呈现

    transform-style:preserve-3d 作用:默认情况下,子元素的3d效果并不会保留下来,如果需要保留,需要在父容器中设置这个样式

  6. 空间旋转

    使用rotate实现元素空间旋转效果

    rotate3d(x, y, z, 角度度数) :用来设置自定义旋转轴的位置及旋转的角度 x,y,z 取值为0-1之间的数字

  7. 左手定则

    大拇指沿着轴的正方向,手指环绕方向就是正值

二. transition(过渡)

  1. 作用:让元素的样式慢慢的变化,常配合hover使用,增强网页交互体验
  2. 属性名:transition
  3. 常见取值:
参数取值
过渡的属性all: 所有能过渡的属性都是过渡, 具体属性名如: with: 只有width有过渡
过渡的时长数字 + s (秒)
  1. 过渡需要:默认状态 和 hover状态样式不同,才能有过渡效果
  2. transition属性给需要过渡的元素本身加
  3. transition属性设置在不同状态中,效果不同的 ① 给默认状态设置,鼠标移入移出都有过渡效果 ② 给hover状态设置,鼠标移入有过渡效果,移出没有过渡效果

三. animatiion(动画)

定义动画

@keyframes {        /* name指动画名称 */
        form{}      /* 初始状态,如果和盒子状态相同可省略  0%{} */
        to{}        /* 结束状态   100%{} */
}

调用动画

animation:动画名称 动画持续时间 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态

速度曲线:linear 匀速 补间动画 速度曲线:steps(数值) 逐帧动画 重复次数:infinite 无限播放 动画方向:alternate 交替播放 执行完毕时状态:forwards 停止在结束状态,不能和infinite结合使用,否则失效

animation-name:动画名称,必须 animation-duration:动画时长,必须 animation-timing-function:速率曲线: linear匀速 animation-interation-count:动画次数,infinite