transform
語法
- transform: none| rotate | scale | skew | translate | matrix;
- 通過transform-origin可以設置轉換參考位置,默認值爲50% 50%,即 center center
- 1.rotate(<angle>):旋轉,參照轉換中心旋轉,如transform:rotate(60deg);
- 2.scale(<number>[, <number>]):縮放,參數1表示沿X軸方向縮放,參數2表示沿Y軸方向縮放,如果只提供一個參數,則第二個參數值與第一個相等,相關屬性:scaleX(<number>), scaleY(<number>)
- 3.translate(<length>[, <length>]):平移,參數1表示沿X軸方向平移,參數2表示沿Y軸方向平移,如果只提供一個參數,則第二個參數值爲0,相關屬性:translateX(<length>), translateY(<length>)
- 4.skew(<angle>[,<angle>]):扭曲,參數1表示沿X軸方向扭曲,參數2參數表示沿Y軸方向扭曲,如果只提供一個參數,則第二個參數爲0,相關屬性:skewX(<angle>), skewY(<angle>)
- 5.matrix(<number>,<number>,<number>,<number>,<number>,<number>):以一個含六值的(a,b,c,d,e,f)變換矩陣的形式指定一個2D變換,相當於直接應用一個[a,b,c,d,e,f]變換矩陣
一、旋轉rotate
- .rotate-1{
- width:100px;
- height:100px;
- background-color:#f90;
- -webkit-transform:rotate(30deg);
- -moz-transform:rotate(30deg);
- transform:rotate(30deg); //順時針旋轉30度
- }
二、縮放scale
- .scale-1{ /*縮小*/
- display:inline-block;
- width:100px;
- height:100px;
- line-height:100px;
- text-align:center;
- background-color:#66f;
- -webkit-transform:scale(0.5, 0.5);
- -moz-transform:scale(0.5, 0.5);
- transform:scale(0.5, 0.5);
- }
- .scale-2{ /*放大*/
- display:inline-block;
- width:100px;
- height:100px;
- line-height:100px;
- margin-left:20px;
- text-align:center;
- background-color:#66f;
- -webkit-transform:scale(1.5, 1.5);
- -moz-transform:scale(1.5, 1.5);
- transform:scale(1.5, 1.5);
- }
- /*說明:如果X,Y軸 縮放的倍數一致的話,也可以只寫一個值,如:transform:scale(0.8);
- 也可以通過scaleX(<number>), scaleY(<number>)來分別設置X,Y軸的縮放情況*/
三、移動translate
- /*元素的非變形屬性省略不寫*/
- .translate-2{ /*向右偏移10px*/
- -webkit-transform:translate(10px);
- -moz-transform:translate(10px);
- transform:translate(10px);
- }
- .translate-3{ /*向上左各偏移10*/
- -webkit-transform:translate(-10px, -10px);
- -moz-transform:translate(10px, -10px);
- transform:translate(10px, -10px);
- }
- /*說明:translate屬性與scale屬性有所不同,如果只給一個值的話,默認第二個值爲0
- 也可以通過translateX(<number>), translateY(<number>)來分別設置X,Y軸的移動情況*/
四、扭曲skew
- .skew-1{ /*沿X方向扭曲30deg*/
- -webkit-transform:skew(30deg);
- -moz-transform:skew(30deg);
- transform:skew(30deg);
- }
- .skew-2{ /*沿Y方向扭曲10deg*/
- -webkit-transform:skew(0, 10deg);
- -moz-transform:skew(0,10deg);
- transform:skew(0,10deg);
- }
- .skew-3{ /*沿X、Y方向分別扭曲30deg, 10deg*/
- -webkit-transform:skew(30deg, 10deg);
- -moz-transform:skew(30deg, 10deg);
- transform:skew(30deg, 10deg);
- }