文章目录
- 一、使用 scale 设置缩放
- 二、使用 scale 设置缩放 与 直接设置盒子模型大小 对比
- 三、代码示例
- 1、代码示例 - 设置两个参数代表宽高缩放
- 2、代码示例 - 设置 1 个参数代表宽高缩放
一、使用 scale 设置缩放
在 CSS3 中的 2D 转换 中 , 可以使用 scale 样式 , 设置 盒子模型 的缩放属性 , 可以设置 放大 和 缩小 ;
scale 样式语法 :
transform:scale(x,y);
- scale() 中的 x 和 y 使用 逗号隔开 ;
- x 和 y 的值是 小数 类型 , 取值范围 大于 0 ;
借助以下样式理解 scale 语法 :
- 设置
transform:scale(1,1);
样式 , 表示 盒子模型 宽高 都放大了一倍 , 也就是不变 ; - 设置
transform:scale(2,2);
样式 , 表示 盒子模型 宽高 都放大了 2 倍 ; - 设置
transform:scale(0.5,0.5);
样式 , 表示 盒子模型 宽高 都缩小到 0.5 倍 ;
如果 scale 只设置一个参数 , 那么就是同时对 宽高 缩放相同的倍数 , 如 : 设置 transform:scale(2);
样式 , 表示 盒子模型 宽高 都放大了 2 倍 , 相当于 transform:scale(2,2);
样式 ;
可以为 宽度 和 高度 设置不同的倍数 , 如 : 设置 transform:scale(2,0.5);
样式 , 表示 盒子模型 宽度放大到原来的 2 倍 , 高度缩小到原来的 0.5 倍 ;
二、使用 scale 设置缩放 与 直接设置盒子模型大小 对比
使用 transform:scale
可以设置 盒子模型 的 缩放倍数 ;
直接修改 盒子模型 大小 , 也可以实现上述相同的功能 ;
直接 修改 盒子模型 大小 ,
- 无法设置 缩放的 中心位置 , 盒子模型 只能向 左右 和 下方延伸 , 不能向上方延伸 ;
- 会影响页面的 整体布局 , 影响 其它盒子模型 布局 ; 如 : 该盒子模型变大 , 那么下面的盒子就会被挤下去 ;
使用 transform:scale
设置缩放 ,
- 可以任意设置 缩放的方向 ,
- 不会影响 其它 盒子模型的布局 ;
三、代码示例
1、代码示例 - 设置两个参数代表宽高缩放
代码示例 :
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS3 2D 转换 - rotate 旋转</title><style>div {width: 200px;height: 200px;/* 上下 100 像素外边距, 居中对齐 */margin: 100px auto;/* 设置背景颜色 */background-color: pink;/* 设置以左下角为中心旋转 */transform-origin: 50% 50%;/* 设置过渡动画 */transition: all 1s;}/* 设置 鼠标 移动到 div::before 伪元素 上的效果 */div:hover {/* 鼠标移动上去后 */transform: scale(2, 0.5);}</style>
</head><body><div></div>
</body></html>
执行结果 :
- 初始状态 :
- 鼠标移动到盒子模型上之后 : 宽度变为原来的 2 倍 , 高度变为原来的 0.5 倍 ;
2、代码示例 - 设置 1 个参数代表宽高缩放
代码示例 :
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS3 2D 转换 - rotate 旋转</title><style>div {width: 200px;height: 200px;/* 上下 100 像素外边距, 居中对齐 */margin: 100px auto;/* 设置背景颜色 */background-color: pink;/* 设置以左下角为中心旋转 */transform-origin: 50% 50%;/* 设置过渡动画 */transition: all 1s;}/* 设置 鼠标 移动到 div::before 伪元素 上的效果 */div:hover {/* 鼠标移动上去后 */transform: scale(2);}</style>
</head><body><div></div>
</body></html>
执行结果 :
- 初始状态 :
- 鼠标移动到盒子模型上之后 : 宽高都变为原来的 2 倍 ;