平面转换 transform
使用 transform 实现位移、旋转、缩放等效果
平面坐标
-y
-x 0 +x
+y
位移 translate
语法
css
transform: translate(水平移动距离,垂直移动距离);
取值
- 正负均可
- 像素单位数值
- 百分比(参照盒子自身大小)
配合过渡使用
css
transition: all 0.5s;
示例:(元素居中效果)
技巧
- translate 只给一个值,表示 x 轴方向移动距离
- 单独设置某个方向的移动:translateX(), translateY()
css
/* 背景图从右显示 */
background-position: right 0;
示例:双开门
旋转 rotate
语法
css
transform: rotate(角度);
角度单位deg
, 正负数均可
- 正数:顺时针
- 负数:逆时针
示例:
改变转换原点 transform-origin
默认的旋转原点是盒子中心点
语法
transform-origin 原点水平位置, 原点垂直位置;
取值
- 方位名词 top left right bottom center
- 像素单位数值
- 百分比(参照盒子自身尺寸)
示例:
多重转换
css
/* 复合属性 先后顺序不一样,效果也不一样 */
transform: translate() rotate();
示例:边走边转
缩放 scale
实现元素从中心点缩放效果
语法
css
transform: scale(x轴缩放倍数, y轴缩放倍数);
/* x、y等比例缩放 */
transform: scale(缩放倍数);
效果 | 取值 | 示例 |
---|---|---|
放大 | 数值>1 | scale(1.2) |
不变 | 数值=1 | scale(1) |
缩小 | 数值<1 | scale(0.8) |
示例:
https://www.bilibili.com/video/BV1xq4y1q7jZ?p=19&spm_id_from=pageDriver
渐变背景 background-image
示例 1:
示例 2: