淺談CSS3中的變形功能-transform功能

CSS3中的變形功能:在CSS3中可以利用transform功能來實現(xiàn)文字或圖像的旋轉(zhuǎn)、縮放、傾斜、移動著四種類型的變形功能。
1、如何使用transform功能:
(1)在CSS3中通過transform屬性來實現(xiàn)transform功能:
(2)transform功能使用方法:
transform:功能;
-ms-transform:功能;/*IE9*/
-moz-transform:功能;/*Firefox*/
-webkit-transform:功能;/*Safari和chrome*/
-o-transform:功能;/*Opera*/
2、rotate旋轉(zhuǎn),在參數(shù)中規(guī)定角度(rotate表示的是順時針旋轉(zhuǎn),deg是CSS3中的角度單位):
(1)使用方法:
-ms-transform:rotate(角度);/*IE9*/
-moz-transform:rotate(角度);/*Firefox*/
-webkit-transform:rotate(角度);/*Safari和chrome*/
-o-transform:rotate(角度);/*Opera*/
(2)rotate旋轉(zhuǎn)的應(yīng)用:
1)HTML代碼:
<div></div>
2)CSS代碼:
div{ width: 300px; height: 300px; background-color: lightblue; -ms-transform:rotate(45deg);/*IE9*/ -moz-transform:rotate(45deg);/*Firefox*/ -webkit-transform:rotate(45deg);/*Safari和chrome*/ -o-transform:rotate(45deg);/*Opera*/ }
3)效果圖如下:
3、scale縮放轉(zhuǎn)換:
(1)使用方法:transform:scale(值),他的值是指定的縮放倍率,比如0.5就是縮放50%,1就是縮放100%,1.5就是縮放150%;
-ms-transform:scale(值);/*IE9*/
-moz-transform:scale(值);/*Firefox*/
-webkit-transform:scale(值);/*Safari和chrome*/
-o-transform:scale(值);/*Opera*/
(2)可能的值:
1)scale(x,y)使元素X軸和Y軸同時縮放;
2)scale(x)使元素僅X軸縮放;
3)scale(y)使元素僅Y軸縮放;
(3)scale縮放轉(zhuǎn)換的應(yīng)用:
1)HTML代碼:
<div></div>
2)CSS代碼:
div{ width: 300px; height: 300px; background-color: lightblue; /*縮放值X與Y為正整數(shù)時*/ -ms-transform:scale(2,2);/*IE9*/ -moz-transform:scale(2,2);/*Firefox*/ -webkit-transform:scale(2,2);/*Safari和chrome*/ -o-transform:scale(2,2);/*Opera*/ /*縮放值X與Y均為小于1的浮點數(shù)時*/ /*-ms-transform:scale(0.5,0.5);*//*IE9*/ /*-moz-transform:scale(0.5,0.5);*//*Firefox*/ /*-webkit-transform:scale(0.5,0.5);*//*Safari和chrome*/ /*-o-transform:scale(0.5,0.5);*//*Opera*/ /*縮放值僅X為小于1的浮點數(shù)時*/ /*-ms-transform:scaleX(0.5);*//*IE9*/ /*-moz-transform:scaleX(0.5);*//*Firefox*/ /*-webkit-transform:scaleX(0.5);*//*Safari和chrome*/ /*-o-transform:scaleX(0.5);*//*Opera*/ /*縮放值僅Y為小于1的浮點數(shù)時*/ /*-ms-transform:scaleY(0.5);*//*IE9*/ /*-moz-transform:scaleY(0.5);*//*Firefox*/ /*-webkit-transform:scaleY(0.5);*//*Safari和chrome*/ /*-o-transform:scaleY(0.5);*//*Opera*/ }
3)效果圖如下:
①未縮放時的效果圖:
②縮放值X與Y為正整數(shù)時的效果圖:
③縮放值X與Y均為小于1的浮點數(shù)時的效果圖:
④縮放值僅X為小于1的浮點數(shù)時的效果圖:
⑤縮放值僅Y為小于1的浮點數(shù)時的效果圖:
4、傾斜skew:
(1)使用方法:
transform:skew(角度);它的值是角度;
-ms-transform:skew(角度);/*IE9*/
-moz-transform:skew(角度);/*Firefox*/
-webkit-transform:skew(角度);/*Safari和chrome*/
-o-transform:skew(角度);/*Opera*/
(2)可能的值:
1)skew(x,y)使元素在水平方向和垂直方向同時扭曲(X軸和Y軸同時按一定的角度值進行扭曲變形)只有一個參數(shù)的時候,只在水平方向上傾斜;
2)skewX(x)僅使元素在水平方向上扭曲變形(X軸扭曲變形)
3)skewY(y)僅使元素在垂直方向上扭曲變形(Y軸扭曲變形)
(3)傾斜skew的應(yīng)用:
1)HTML代碼:
<div></div>
2)CSS代碼:
div{ width: 300px; height: 300px; background-color: lightblue; /*X軸與Y軸均傾斜*/ -ms-transform:skew(30deg,30deg); -moz-transform:skew(30deg,30deg); -webkit-transform:skew(30deg,30deg); -o-transform:skew(30deg,30deg); /*設(shè)置一個值相當于僅X軸傾斜*/ /*-ms-transform:skew(30deg);*//*IE9*/ /*-moz-transform:skew(30deg);*//*Firefox*/ /*-webkit-transform:skew(30deg);*//*Safari和chrome*/ /*-o-transform:skew(30deg);*//*Opera*/ /*僅X軸傾斜*/ /*-ms-transform:skewX(30deg);*//*IE9*/ /*-moz-transform:skewX(30deg);*//*Firefox*/ /*-webkit-transform:skewX(30deg);*//*Safari和chrome*/ /*-o-transform:skewX(30deg);*//*Opera*/ /*僅Y軸傾斜*/ /*-ms-transform:skewY(30deg);*//*IE9*/ /*-moz-transform:skewY(30deg);*//*Firefox*/ /*-webkit-transform:skewY(30deg);*//*Safari和chrome*/ /*-o-transform:skewY(30deg);*//*Opera*/ }
3)效果圖如下:
①未傾斜的效果圖:
②X軸與Y軸均傾斜的效果圖:
③設(shè)置一個值相當于僅X軸傾斜的效果圖:
④僅X軸傾斜的效果圖:
⑤僅Y軸傾斜的效果圖:
5、移動translate:
(1)使用方法:
transform:translate(值);它的值是指定移動的距離;
-ms-transform:translate(值);/*IE9*/
-moz-transform:translate(值);/*Firefox*/
-webkit-transform:translate(值);/*Safari和chrome*/
-o-transform:translate(值);/*Opera*/
(2)可能的值:
1)translate(x,y)水平方向與垂直方向同時移動(也就是X軸和Y軸同時移動)只有一個參數(shù)的時候,只在水平方向上移動;
2)translateX(x)僅水平方向(X軸移動)
3)translateY(y)僅垂直方向(Y軸移動)
(3)移動translate的應(yīng)用:
1)HTML代碼:
<div class="main"> <div class="div"></div> </div>
2)CSS代碼:
.main{ width: 100%; height: 500px; background-color: lightcoral; } .div{ width: 300px; height: 300px; background-color: lightblue; /*在X軸與Y軸上均移動*/ -ms-transform:translate(50px,50px);/*IE9*/ -moz-transform:translate(50px,50px);/*Firefox*/ -webkit-transform:translate(50px,50px);/*Safari和chrome*/ -o-transform:translate(50px,50px);/*Opera*/ /*設(shè)置一個值相當于僅在X軸上移動*/ /*-ms-transform:translate(50px);*//*IE9*/ /*-moz-transform:translate(50px);*//*Firefox*/ /*-webkit-transform:translate(50px);*//*Safari和chrome*/ /*-o-transform:translate(50px);*//*Opera*/ /*僅在X軸上移動*/ /*-ms-transform:translateX(50px);*//*IE9*/ /*-moz-transform:translateX(50px);*//*Firefox*/ /*-webkit-transform:translateX(50px);*//*Safari和chrome*/ /*-o-transform:translateX(50px);*//*Opera*/ /*僅在Y軸上移動*/ /*-ms-transform:translateY(50px);*//*IE9*/ /*-moz-transform:translateY(50px);*//*Firefox*/ /*-webkit-transform:translateY(50px);*//*Safari和chrome*/ /*-o-transform:translateY(50px);*//*Opera*/ }
3)效果圖如下:
①未移動的效果圖:
②在X軸與Y軸上均移動時的效果圖:
③設(shè)置一個值相當于僅在X軸上移動時的效果圖:
④僅在X軸上移動時的效果圖:
⑤僅在Y軸上移動時的效果圖:
6、對一個元素使用多種變形方法:(同樣的方法只能使用一次)
(1)使用方法:
transform:方法1 方法2 方法3 方法4;
-ms-transform:方法1 方法2 方法3 方法4;/*IE9*/
-moz-transform:方法1 方法2 方法3 方法4;/*Firefox*/
-webkit-transform:方法1 方法2 方法3 方法4;/*Safari和chrome*/
-o-transform:方法1 方法2 方法3 方法4;/*Opera*/
(2)對一個元素使用多種變形方法的應(yīng)用:
1)HTML代碼:
<div class="main"> <div class="div"></div> </div>
2)CSS代碼:
.main{ width: 100%; height: 500px; background-color: lightcoral; } .div{ width: 300px; height: 300px; background-color: lightblue; -ms-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*IE9*/ -moz-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Firefox*/ -webkit-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Safari和chrome*/ -o-transform:translateX(200px) rotate(30deg) skew(30deg,30deg) scaleY(0.5);/*Opera*/ }
3)效果圖如下:
①未添加方法時的效果圖:
②添加了多種方法時的效果圖:
7、改變元素基點transform-origin:
(1)可能的值:
top left | top | right top |
left | center | right |
bottom left | bottom | bottom right |
(2)默認情況下transform屬性變化的基點是center,但是可以通過transform-origin改變transform屬性變化的基點;
(3)改變元素基點transform-origin的應(yīng)用:
1)HTML代碼:
<div class="main"> <div class="div"></div> </div>
2)CSS代碼:
.main{ width: 100%; height: 500px; background-color: lightcoral; margin-left: 140px; margin-top: 180px; } .div{ width: 300px; height: 300px; background-color: lightblue; -ms-transform:rotate(30deg);/*IE9*/ -moz-transform:rotate(30deg);/*Firefox*/ -webkit-transform:rotate(30deg);/*Safari和chrome*/ -o-transform:rotate(30deg);/*Opera*/ transform-origin: center; /*transform-origin: top;*/ /*transform-origin: top left;*/ /*transform-origin: right top;*/ /*transform-origin: left;*/ /*transform-origin: right;*/ /*transform-origin: bottom left;*/ /*transform-origin: bottom;*/ /*transform-origin: bottom right;*/ }
3)效果圖如下:
①未添加變形功能的效果圖:
②添加旋轉(zhuǎn)功能的效果圖:
③以center為基點旋轉(zhuǎn)的效果圖:
④以top為基點旋轉(zhuǎn)的效果圖:
⑤以top left為基點旋轉(zhuǎn)的效果圖:
⑥以right top為基點旋轉(zhuǎn)的效果圖:
⑦以left為基點旋轉(zhuǎn)的效果圖:
⑧以right為基點旋轉(zhuǎn)的效果圖:
⑨以bottom left為基點旋轉(zhuǎn)的效果圖:
⑩以bottom為基點旋轉(zhuǎn)的效果圖:
⑪以bottom right為基點旋轉(zhuǎn)的效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
CSS3中設(shè)置3D變形的transform-style屬性詳解
transform-style經(jīng)常被用來做三維空間坐標系中的圖形變換,下面我們就來看看CSS3中設(shè)置3D變形的transform-style屬性詳解,需要的朋友可以參考下2016-05-23CSS3的常見transformation圖形變化用法小結(jié)
這篇文章主要介紹了CSS3的常見transformation圖形變化用法小結(jié),共整理了旋轉(zhuǎn)、縮放、平移、傾斜以及矩陣的使用方法,需要的朋友可以參考下2016-05-13