上一篇讲了translate,这一次我们再细讲一下scale.
下面我们从3个方面开始介绍:
1、scale(x,y) 对元素进行缩放
- X表示水平方向缩放的倍数 | Y表示垂直方向的缩放倍数
- Y是一个可选参数,没有设置的话,则表示X,Y两个方向的缩放倍数是一样的。并以X为准。
- transform:scale(2,2.5);
2、
scaleX(<number>) 元素只在X轴(水平方向)缩放元素。
- 默认值是1,基点一样在元素的中心位置。可以通过transform-origin来改变基点
- transform:scaleX(2);
3、
scaleY(<number>) 元素只在Y轴(垂直方向)缩放元素。
- 基点一样在元素的中心位置。可以通过transform-origin来改变基点。
- transform:scaleY(2);
最后我们看看
兼容性写法:
- .test{
- -moz-transform:scale(2,2);
- -webkit-transform:scale(2,2);
- -o-transform:scale(2,2);
- background:url(img/i.png) no-repeat;
- width:198px;
- height:133px;
- }
样板代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
.right_div .topicons li a:hover img{
-webkit-transform:scale(1.5,1.5);
-moz-transform:scale(1.5,1.5);
-transform:scale(1.5,1.5);
}
</style>
</head>
<body>
<div class="right_div">
<ul class="topicons">
<li><div class="img1"><a href="#"><img src="images/test.jpg" /></a></div><p>企业统一门户</p></li>
</ul>
</div>
</body>
</html>
另附上transform的属性值
语法
transform: none|transform-functions;
值 | 描述 | 测试 |
---|---|---|
none | 定义不进行转换。 | 测试 |
matrix(n,n,n,n,n,n) | 定义 2D 转换,使用六个值的矩阵。 | 测试 |
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) | 定义 3D 转换,使用 16 个值的 4x4 矩阵。 | |
translate(x,y) | 定义 2D 转换。 | 测试 |
translate3d(x,y,z) | 定义 3D 转换。 | |
translateX(x) | 定义转换,只是用 X 轴的值。 | 测试 |
translateY(y) | 定义转换,只是用 Y 轴的值。 | 测试 |
translateZ(z) | 定义 3D 转换,只是用 Z 轴的值。 | |
scale(x,y) | 定义 2D 缩放转换。 | 测试 |
scale3d(x,y,z) | 定义 3D 缩放转换。 | |
scaleX(x) | 通过设置 X 轴的值来定义缩放转换。 | 测试 |
scaleY(y) | 通过设置 Y 轴的值来定义缩放转换。 | 测试 |
scaleZ(z) | 通过设置 Z 轴的值来定义 3D 缩放转换。 | |
rotate(angle) | 定义 2D 旋转,在参数中规定角度。 | 测试 |
rotate3d(x,y,z,angle) | 定义 3D 旋转。 | |
rotateX(angle) | 定义沿着 X 轴的 3D 旋转。 | 测试 |
rotateY(angle) | 定义沿着 Y 轴的 3D 旋转。 | 测试 |
rotateZ(angle) | 定义沿着 Z 轴的 3D 旋转。 | 测试 |
skew(x-angle,y-angle) | 定义沿着 X 和 Y 轴的 2D 倾斜转换。 | 测试 |
skewX(angle) | 定义沿着 X 轴的 2D 倾斜转换。 | 测试 |
skewY(angle) | 定义沿着 Y 轴的 2D 倾斜转换。 | 测试 |
perspective(n) | 为 3D 转换元素定义透视视图。 | 测试 |