实用指南:【前端基础】20、CSS属性——transform、translate、transition

一、transform概念

  • transform 的作用:允许对某一个元素进行某些形变,包括旋转、缩放、倾斜、平移等
  • 并非所有盒子都可以机进行transform 形变。通常行内级元素不能进行形变。
    • 例如:span 元素、a 元素

二、transform的用法

在这里插入图片描述
常见的函数 transform function

  • 平移:translate(x, y)
  • 缩放:scale(x, y)
  • 旋转:rotate(x, y)
  • 倾斜:skew(deg, deg)

三、平移:translate(x, y)

四、translate 的补充

  • translatetranslateXtranslateY 函数的缩写。
    • 设置 x 轴:translateX
      在这里插入图片描述

    • 设置 y 轴:translateY
      在这里插入图片描述

  • translate 的百分比可以完成一个元素的水平和垂直居中
    在这里插入图片描述

<!DOCTYPE html><html><head><title>Document</title><style>.container {height: 500px;width: 500px;border: 5px solid red;display: inline-block;background-color: antiquewhite;}.box1 {height: 200px;width: 200px;background-color: aqua;/* transform: translate(100px); *//* transform: translate(50%, 50%); *//* transform: translateX(20%); */position: relative;top: 50%;transform: translateY(-50%);}</style></head><body><div class="container"><div class="box1">box1</div></div></body></html>

五、缩放:scale(x, y)

  • 缩放:scale(x, y)

    • 改变元素的大小
  • 值个数

    • 一个值:设置 x 轴上的缩放。(y 轴默认也是一样的值)
      在这里插入图片描述

    • 两个值:设置 x 轴和 y 轴上的缩放
      在这里插入图片描述

  • 值类型

    • 数字
      • 1:保持不变
      • 2:放大一倍
      • 0.5:缩小一半
    • 百分比:不常用
  • scalescaleXscaleY 函数的缩写。

    • 设置 x 轴:scaleX
    • 设置 y 轴:scaleY

<!DOCTYPE html><html><head><title>Document</title><style>.container {height: 200px;width: 200px;border: 5px solid red;display: inline-block;background-color: antiquewhite;}.box1 {height: 200px;width: 200px;background-color: aqua;/* transform: scale(0.5); */transform: scale(0.5, 0.3);}</style></head><body><div class="container"><div class="box1">box1</div></div></body></html>

六、旋转:rotate(x, y)

  • 值个数
    • 一个值:表示旋转角度
  • 值类型
    • 常用单位 deg:表示旋转角度
    • 正数:顺时针旋转
    • 负数、逆时针旋转
      在这里插入图片描述
      在这里插入图片描述

  • rotaterotateZ 函数的缩写。
  • rotate 有很多单位
    • 角度(deg
    • 百分度(grad
    • 弧度(rad
    • 圈数(turn
      在这里插入图片描述
      在这里插入图片描述

七、transform-origin


<!DOCTYPE html><html><head><title>Document</title><style>.container {height: 200px;width: 200px;border: 5px solid red;display: inline-block;background-color: antiquewhite;margin-left: 500px;margin-top: 300px;}.box1 {height: 200px;width: 200px;background-color: aqua;/* transform: rotate(25deg) */transform-origin: 100% 50%;transform: rotate(90deg)}</style></head><body><div class="container"><div class="box1">box1</div></div></body></html>

八、倾斜:skew(deg, deg)

  • 定义了一个元素在二维平面的倾斜转换
  • 值个数
    • 一个值:表示 x 轴上的倾斜
    • 两个值:表示 x 轴和 y 轴的倾斜
  • 值类型
    • deg:旋转角度
    • 正数:顺时针旋转
    • 负数:逆时针旋转
  • 注意:倾斜原点受到 transform-origin 影响

在这里插入图片描述

九、transform 多个值

在这里插入图片描述

十、transition概念

十一、常用的transition

在这里插入图片描述
在这里插入图片描述