CSS3?2D<===>3D轉(zhuǎn)換

CSS3 2D 轉(zhuǎn)換

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


CSS3 Transforms

它是如何工作?

變換的效果,讓某個(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

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

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

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() 方法

Rotate

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() 方法

Rotate X

rotateX()方法,圍繞其在一個(gè)給定度數(shù)X軸旋轉(zhuǎn)的元素。

實(shí)例
div{ 
  transform: rotateX(120deg); 
  -webkit-transform: rotateX(120deg); /* Safari 與 Chrome */
}

嘗試一下 ?


rotateY() 方法

Rotate Y

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)換元素的透視視圖。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容