CSS3 2D 轉(zhuǎn)換
CSS3 轉(zhuǎn)換
CSS3轉(zhuǎn)換,我們可以移動(dòng),比例化,反過來,旋轉(zhuǎn),和拉伸元素。

它是如何工作?
變換的效果,讓某個(gè)元素改變形狀,大小和位置。
您可以轉(zhuǎn)換您使用2D或3D元素。
瀏覽器支持
表格中的數(shù)字表示支持該屬性的第一個(gè)瀏覽器版本號(hào)。
緊跟在 -webkit-, -ms- 或 -moz- 前的數(shù)字為支持該前綴屬性的第一個(gè)瀏覽器版本號(hào)。

Internet Explorer 10, Firefox, 和 Opera支持transform 屬性.
Chrome 和 Safari 要求前綴 -webkit- 版本.
注意: Internet Explorer 9 要求前綴 -ms- 版本.
2D 轉(zhuǎn)換
在本章您將了解2D變換方法:
-
translate()根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng) -
rotate()在一個(gè)給定度數(shù)順時(shí)針旋轉(zhuǎn)的元素。負(fù)值是允許的,這樣是元素逆時(shí)針旋轉(zhuǎn)。 -
scale()該元素增加或減少的大小,取決于寬度(X軸)和高度(Y軸)的參數(shù): -
skew()包含兩個(gè)參數(shù)值,分別表示X軸和Y軸傾斜的角度,如果第二個(gè)參數(shù)為空,則默認(rèn)為0,參數(shù)為負(fù)表示向相反方向傾斜。 -
matrix()方法有六個(gè)參數(shù),包含旋轉(zhuǎn),縮放,移動(dòng)(平移)和傾斜功能。
在下一章中您將了解3D轉(zhuǎn)換。
實(shí)例
div{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
translate() 方法

translate()方法,根據(jù)左(X軸)和頂部(Y軸)位置給定的參數(shù),從當(dāng)前元素位置移動(dòng)。
實(shí)例
div{
transform: translate(50px,100px);
-ms-transform: translate(50px,100px); /* IE 9 */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
}
嘗試一下 ?
translate值(50px,100px)是從左邊元素移動(dòng)50個(gè)像素,并從頂部移動(dòng)100像素。
rotate() 方法

rotate()方法,在一個(gè)給定度數(shù)順時(shí)針旋轉(zhuǎn)的元素。負(fù)值是允許的,這樣是元素逆時(shí)針旋轉(zhuǎn)。
實(shí)例
div{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
嘗試一下 ?
rotate值(30deg)元素順時(shí)針旋轉(zhuǎn)30度。
scale() 方法

scale()方法,該元素增加或減少的大小,取決于寬度(X軸)和高度(Y軸)的參數(shù):
實(shí)例
-ms-transform:scale(2,3); /* IE 9 */
-webkit-transform: scale(2,3); /* Safari */
transform: scale(2,3); /* 標(biāo)準(zhǔn)語法 */
嘗試一下 ?
scale(2,3)轉(zhuǎn)變寬度為原來的大小的2倍,和其原始大小3倍的高度。
skew() 方法
語法
transform:skew(<angle> [,<angle>]);
包含兩個(gè)參數(shù)值,分別表示X軸和Y軸傾斜的角度,如果第二個(gè)參數(shù)為空,則默認(rèn)為0,參數(shù)為負(fù)表示向相反方向傾斜。
- skewX(<angle>);表示只在X軸(水平方向)傾斜。
- skewY(<angle>);表示只在Y軸(垂直方向)傾斜。
實(shí)例
div{
transform: skew(30deg,20deg);
-ms-transform: skew(30deg,20deg); /* IE 9 */
-webkit-transform: skew(30deg,20deg); /* Safari and Chrome */
}
嘗試一下 ?
skew(30deg,20deg)元素在X軸和Y軸上傾斜20度30度。
matrix() 方法

matrix()方法和2D變換方法合并成一個(gè)。matrix 方法有六個(gè)參數(shù),包含旋轉(zhuǎn),縮放,移動(dòng)(平移)和傾斜功能。
實(shí)例
利用matrix()方法旋轉(zhuǎn)div元素30°
div{
transform:matrix(0.866,0.5,-0.5,0.866,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
}
新轉(zhuǎn)換屬性
以下列出了所有的轉(zhuǎn)換屬性:
| Property | 描述 | CSS |
|---|---|---|
| transform | 適用于2D或3D轉(zhuǎn)換的元素 | 3 |
| transform-origin | 允許您更改轉(zhuǎn)化元素位置 | 3 |
2D 轉(zhuǎn)換方法
| 函數(shù) | 描述 |
|---|---|
| matrix(n,n,n,n,n,n) | 定義 2D 轉(zhuǎn)換,使用六個(gè)值的矩陣。 |
| translate(x,y) | 定義 2D 轉(zhuǎn)換,沿著 X 和 Y 軸移動(dòng)元素。 |
| translateX(n) | 定義 2D 轉(zhuǎn)換,沿著 X 軸移動(dòng)元素。 |
| translateY(n) | 定義 2D 轉(zhuǎn)換,沿著 Y 軸移動(dòng)元素。 |
| scale(x,y) | 定義 2D 縮放轉(zhuǎn)換,改變元素的寬度和高度。 |
| scaleX(n) | 定義 2D 縮放轉(zhuǎn)換,改變元素的寬度。 |
| scaleY(n) | 定義 2D 縮放轉(zhuǎn)換,改變元素的高度。 |
| rotate(angle) | 定義 2D 旋轉(zhuǎn),在參數(shù)中規(guī)定角度。 |
| skew(x-angle,y-angle) | 定義 2D 傾斜轉(zhuǎn)換,沿著 X 和 Y 軸。 |
| skewX(angle) | 定義 2D 傾斜轉(zhuǎn)換,沿著 X 軸。 |
| skewY(angle) | 定義 2D 傾斜轉(zhuǎn)換,沿著 Y 軸。 |
CSS3 3D 轉(zhuǎn)換
3D 轉(zhuǎn)換
CSS3 允許您使用 3D 轉(zhuǎn)換來對元素進(jìn)行格式化。
在本章中,您將學(xué)到其中的一些 3D 轉(zhuǎn)換方法:
- rotateX()
- rotateY()
點(diǎn)擊下面的元素,來查看 2D 轉(zhuǎn)換與 3D 轉(zhuǎn)換之間的不同之處:

瀏覽器支持
表格中的數(shù)字表示支持該屬性的第一個(gè)瀏覽器版本號(hào)。
緊跟在 -webkit-, -ms- 或 -moz- 前的數(shù)字為支持該前綴屬性的第一個(gè)瀏覽器版本號(hào)。

rotateX() 方法

rotateX()方法,圍繞其在一個(gè)給定度數(shù)X軸旋轉(zhuǎn)的元素。
實(shí)例
div{
transform: rotateX(120deg);
-webkit-transform: rotateX(120deg); /* Safari 與 Chrome */
}
rotateY() 方法

rotateY()方法,圍繞其在一個(gè)給定度數(shù)Y軸旋轉(zhuǎn)的元素。
實(shí)例
div{
transform: rotateY(130deg);
-webkit-transform: rotateY(130deg); /* Safari 與 Chrome */
}
轉(zhuǎn)換屬性
下表列出了所有的轉(zhuǎn)換屬性:
| 屬性 | 描述 | CSS |
|---|---|---|
| transform | 向元素應(yīng)用 2D 或 3D 轉(zhuǎn)換。 | 3 |
| transform-origin | 允許你改變被轉(zhuǎn)換元素的位置。 | 3 |
| transform-style | 規(guī)定被嵌套元素如何在 3D 空間中顯示。 | 3 |
| perspective | 規(guī)定 3D 元素的透視效果。 | 3 |
| perspective-origin | 規(guī)定 3D 元素的底部位置。 | 3 |
| backface-visibility | 定義元素在不面對屏幕時(shí)是否可見。 | 3 |
3D 轉(zhuǎn)換方法
| 函數(shù) | 描述 |
|---|---|
| matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) | 定義 3D 轉(zhuǎn)換,使用 16 個(gè)值的 4x4 矩陣。 |
| translate3d(x,y,z) | 定義 3D 轉(zhuǎn)化。 |
| translateX(x) | 定義 3D 轉(zhuǎn)化,僅使用用于 X 軸的值。 |
| translateY(y) | 定義 3D 轉(zhuǎn)化,僅使用用于 Y 軸的值。 |
| translateZ(z) | 定義 3D 轉(zhuǎn)化,僅使用用于 Z 軸的值。 |
| scale3d(x,y,z) | 定義 3D 縮放轉(zhuǎn)換。 |
| scaleX(x) | 定義 3D 縮放轉(zhuǎn)換,通過給定一個(gè) X 軸的值。 |
| scaleY(y) | 定義 3D 縮放轉(zhuǎn)換,通過給定一個(gè) Y 軸的值。 |
| scaleZ(z) | 定義 3D 縮放轉(zhuǎn)換,通過給定一個(gè) Z 軸的值。 |
| rotate3d(x,y,z,angle) | 定義 3D 旋轉(zhuǎn)。 |
| rotateX(angle) | 定義沿 X 軸的 3D 旋轉(zhuǎn)。 |
| rotateY(angle) | 定義沿 Y 軸的 3D 旋轉(zhuǎn)。 |
| rotateZ(angle) | 定義沿 Z 軸的 3D 旋轉(zhuǎn)。 |
| perspective(n) | 定義 3D 轉(zhuǎn)換元素的透視視圖。 |