CSS 转换(transforms)允许您移动、旋转、缩放和倾斜元素。
CSS 2D 转换方法
translate() 方法从其当前位置移动元素(根据为 X 轴和 Y 轴指定的参数)。
下面的例子把 <div> 元素从其当前位置向右移动 50 个像素,并向下移动 100 个像素:
如果是一个值,第二个值默认为0
div {
transform: translate(50px, 100px);
}
rotate() 方法根据给定的角度顺时针或逆时针旋转元素。
下面的例子把 <div> 元素顺时针旋转 20 度:(也可以是负数)
div {
transform: rotate(20deg);
}
div {
transform: rotate(-20deg);
}
scale() 方法增加或减少元素的大小(根据给定的宽度和高度参数)。
//下面的例子把 <div> 元素增大为其原始宽度的两倍和其原始高度的三倍:
div {
transform: scale(2, 3);
}
//下面的例子把 <div> 元素减小为其原始宽度和高度的一半:
div {
transform: scale(0.5, 0.5);
}
scaleX() 方法
scaleX() 方法增加或减少元素的宽度。
//下面的例子把 <div> 元素增大为其原始宽度的两倍:
div {
transform: scaleX(2);
}
//以下例子把 <div> 元素缩减为其原始宽度的一半:
div {
transform: scaleX(0.5);
}
scaleY() 方法
scaleY() 方法增加或减少元素的高度。
//下面的例子把 <div> 元素增大到其原始高度的三倍:
div {
transform: scaleY(3);
}
//下面的例子把 <div> 元素缩减为其原始高度的一半:
div {
transform: scaleY(0.5);
}
skewX() 方法
skewX() 方法使元素沿 X 轴倾斜给定角度。
//下例把 <div> 元素沿X轴倾斜 20 度:
div {
transform: skewX(20deg);
}
skewY() 方法
skewY() 方法使元素沿 Y 轴倾斜给定角度。
//下例把 <div> 元素沿 Y 轴倾斜 20 度:
div {
transform: skewY(20deg);
}
skew() 方法
skew() 方法使元素沿 X 和 Y 轴倾斜给定角度。
//下面的例子使 <div> 元素沿 X 轴倾斜 20 度,同时沿 Y 轴倾斜 10 度:
div {
transform: skew(20deg, 10deg);
}
//如果未指定第二个参数,则值为零。因此,下例使 <div> 元素沿 X 轴倾斜 20 度:
div {
transform: skew(20deg);
}
matrix() 方法把所有 2D 变换方法组合为一个。
matrix() 方法可接受六个参数,其中包括数学函数,这些参数使您可以旋转、缩放、移动(平移)和倾斜元素。
参数如下:matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
div {
transform: matrix(1, -0.3, 0, 1, 0, 0);
}
CSS 3D 转换
rotateX() 方法
rotateX()方法使元素绕其 X 轴旋转给定角度:
#myDiv {
transform: rotateX(150deg);
}
rotateY() 方法
rotateY() 方法使元素绕其 Y 轴旋转给定角度:
#myDiv {
transform: rotateY(130deg);
}
rotateZ() 方法
rotateZ() 方法使元素绕其 Z 轴旋转给定角度:
#myDiv {
transform: rotateZ(90deg);
}