CSS3 轉換
透過CSS3轉換,我們能夠對元素進行移動、縮放、轉動、拉長或拉伸。
瀏覽器支援
IE10、FireFox以及Opera支援transform屬性。 Chrome和Safari需要前綴-webkit-.
註解:IE9需要前綴-ms-.
2D 轉換
在本章您將了解2D變換方法:
translate()
rotate()
scale()
#skew()
matrix()
##translate()方法
元素從目前位置移動,根據給定的left(x座標)和top(y座標)位移參數:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> /*translate方法位移*/ div { width:100px; height:80px; background-color:orange; position:absolute; left:100px; top:100px; } div.one { transform:translate(30px,30px); z-index:1; } div.two { background-color:blue; } </style> </head> <body> <div class="one"></div> <div class="two"></div> </body> </html>
rotate()方法
元素順時針給定的角度、允許負值,元素將逆時針旋轉。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> div { width: 150px; height: 50px; background-color: orange; text-align: center; position: absolute; left: 100px; top: 100px; } div.one { transform: rotate(30deg); -webkit-transform:rotate(30deg); } div.two { background-color: blue; color: white; } </style> </head> <body> <div class="one"></div> <div class="two"></div> </body> </html>
scale() 方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> div{ width: 100px; height: 100px; background-color: orange; position: absolute; left: 100px; height: 100px; } div.one { background-color: red; transform: scale(0.5,0.5); } </style> </head> <body> <div> <div class="one"></div> </div> </body> </html>
skew()方法
透過skew()方法,元素傾斜給定的角度,根據給定的水平線(X軸)和垂直線(Y軸)參數:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> div{ width:100px; height:100px; background-color:orange; position:absolute; left:100px; top:100px; } div.one { background-color:red; transform:skew(30deg,10deg); } </style> </head> <body> <div></div> <div class="one"></div> </body> </html>
matrix() 方法
matrix()方法把所有2D轉換方法組合在一起。 matrix()方法需要六個參數,包含數學函數,讓你:旋轉、縮放、移動、傾斜元素。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> div{ width:100px; height:100px; background-color:orange; position:absolute; left:100px; top:100px; } div.one { transform:matrix(0.866,0.5,-0.5,0.866,0,0); background-color:red; } </style> </head> <body> <div></div> <div class="one"></div> </body> </html>
新轉換屬性
以下列出了所有的轉換屬性:#描述 CSS
transform 適用於2D或3D轉換的元素 適用於2D或3D轉換的元素 適用於2D或3D轉換時的元素 適用於2D或3D轉換時的元素 適用於2D或3D轉換的元素 適用於2D或3D轉換的元素
transform-origin
函數 說明
matrix(n,n,n,n,n,n)
##matrix(n,n,n,n,n,n)
2 轉換, 使用六個值的矩陣。
translate(x,y) 定義 2D 轉換,沿著 X 和 Y 軸移動元素。
translateX(n) 定義 2D 轉換,沿著 X 軸移動元素。
translateY(n) 定義 2D 轉換,沿著 Y 軸移動元素。
scale(x,y) 定義 2D 縮放轉換,改變元素的寬度與高度。
scaleX(n) 定義 2D 縮放轉換,改變元素的寬度。
scaleY(n) 定義 2D 縮放轉換,改變元素的高度。
rotate(angle) 定義 2D 旋轉,在參數中規定角度。
skew(x-angle,y-angle) 定義 2D 傾斜轉換,沿著 X 和 Y 軸。
skewX(angle) 定義 2D 傾斜轉換,沿著 X 軸。
skewY(angle) 定義 2D 傾斜轉換,沿著 Y 軸。