CSS3 2D 轉換

CSS3 2D 轉換

CSS3 轉換

CSS3轉換,我們可以移動,比例化,反過來,旋轉,和拉伸元素。


它是如何運作?

變換的效果,讓某個元素改變形狀,大小和位置。

您可以轉換您使用2D或3D元素。


2D 轉換

#在本章您將了解2D變換方法:

  • translate()

  • rotate()

  • #scale()

  • matrix()


#實例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
    <style>
        div
        {
            width:200px;
            height:100px;
            background-color: #aeffb1;
            /* Rotate div */
            transform:rotate(30deg);
            -ms-transform:rotate(30deg); /* IE 9 */
            -webkit-transform:rotate(30deg); /* Safari and Chrome */
        }
    </style>
</head>
<body>
<div>Hello</div>
</body>
</html>

執行程式試試


translate() 方法

translate()方法,根據左(X軸)和頂部(Y軸)位置給定的參數,從目前元素位置移動。

實例

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
    <style>
        div
        {
            width:100px;
            height:75px;
            background-color: #9dfff2;
            border:1px solid #e81d26;
        }
        div#div2
        {
            transform:translate(50px,100px);
            -ms-transform:translate(50px,100px); /* IE 9 */
            -webkit-transform:translate(50px,100px); /* Safari and Chrome */
        }
    </style>
</head>
<body>
<div>这是一个div元素</div>
<div id="div2">Hello. 这也是一个div元素</div>
</body>
</html>

執行程式嘗試

提示:translate值( 50px,100px)是從左邊元素移動50個像素,並從頂部移動100像素。


rotate() 方法

rotate()方法,在一個給定度數順時針旋轉的元素。負值是允許的,這樣是元素逆時針旋轉。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
    <style>
        div
        {
            width:100px;
            height:75px;
            background-color:red;
            border:1px solid black;
        }
        div#div2
        {
            transform:rotate(30deg);
            -ms-transform:rotate(30deg); /* IE 9 */
            -webkit-transform:rotate(30deg); /* Safari and Chrome */
        }
    </style>
</head>
<body>
<div>你好。这是一个 DIV 元素。</div>
<div id="div2">你好。这是一个 DIV 元素。</div>
</body>
</html>

提示:rotate值(30deg)元素順時針旋轉30度。

執行程式嘗試一下


scale() 方法

scale()方法,該元素增加或減少的大小,取決於寬度(X軸)和高度(Y軸)的參數:

<!DOCTYPE html>
<html>
<head>
<style>
    div
    {
        width:100px;
        height:75px;
        background-color:red;
        border:1px solid black;
    }
    div#div2
    {
        margin:100px;
        transform:scale(2,4);
        -ms-transform:scale(2,4); /* IE 9 */
        -webkit-transform:scale(2,4); /* Safari and Chrome */
    }
</style>
</head>
<body>
<div>Hello. This is a DIV element.</div>
<div id="div2">Hello. This is a DIV element.</div>
</body>
</html>

#提示:scale(2,4)轉變寬度為原來的大小的2倍,和其原始大小4倍的高度。

執行程式嘗試


skew() 方法

skew()方法,該元素會根據橫向(X軸)和垂直(Y軸)線參數給定角度:

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style> 
div
{
width:100px;
height:75px;
background-color:red;
border:1px solid black;
}
div#div2
{
transform:skew(30deg,20deg);
-ms-transform:skew(30deg,20deg); /* IE 9 */
-webkit-transform:skew(30deg,20deg); /* Safari and Chrome */
}
</style>
</head>
<body>
<div>Hello. This is a DIV element.</div>
<div id="div2">Hello. This is a DIV element.</div>
</body>
</html>

#提示 :skew(30deg,20deg)是繞X軸和Y軸周圍20度30度的元素。

執行程式嘗試


matrix() 方法

matrix()方法和2D變換方法合併成一個。

matrix 方法有六個參數,包含旋轉,縮放,移動(平移)和傾斜功能。

實例

利用matrix()方法旋轉div元素30°

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
<style> 
div
{
width:100px;
height:75px;
background-color:red;
border:1px solid black;
}
div#div2
{
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 */
}
</style>
</head>
<body>
<div>Hello. This is a DIV element.</div>
<div id="div2">Hello. This is a DIV element.</div>
</body>
</html>

執行程式嘗試


新轉換屬性

以下列出了所有的轉換屬性:

##3 transform-origin允許您變更轉換元素位置3
#Property描述CSS
transform適用於2D或3D轉換的元素

2D 轉換方法


函數#描述matrix(定義2D 轉換,使用六個值的矩陣。 translate(定義 2D 轉換,沿著 X 和 Y 軸移動元素。 translateX(定義 2D 轉換,沿著 X 軸移動元素。 translateY(定義 2D 轉換,沿著 Y 軸移動元素。 scale(定義 2D 縮放轉換,改變元素的寬度和高度。 scaleX(定義 2D 縮放轉換,改變元素的寬度。 scaleY(定義 2D 縮放轉換,改變元素的高度。 rotate(定義 2D 旋轉,在參數中規定角度。 skew(定義2D 傾斜轉換,沿著X 和Y軸。 skewX(#定義 2D 傾斜轉換,沿著 X 軸。 skewY(#定義 2D 傾斜轉換,沿著 Y 軸。
n,n,n,n,n,n)
x,y)
n)
n)
x,y)
n)
n)
angle)
x-angle,y-angle)
angle)
angle)




#

繼續學習
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> div { width:200px; height:100px; background-color: #aeffb1; /* Rotate div */ transform:rotate(30deg); -ms-transform:rotate(30deg); /* IE 9 */ -webkit-transform:rotate(30deg); /* Safari and Chrome */ } </style> </head> <body> <div>Hello</div> </body> </html>