CSS3中transform功能

來源:互聯網
上載者:User
transform是css3中的一個屬性,本文主要介紹了淺談CSS3中的變形功能-transform功能,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望能協助到大家。

CSS3中的變形功能:在CSS3中可以利用transform功能來實現文字或映像的旋轉、縮放、傾斜、移動著四種類型的變形功能。

1、如何使用transform功能:

(1)在CSS3中通過transform屬性來實現transform功能:

(2)transform功能使用方法:
transform:功能;
-ms-transform:功能;/*IE9*/
-moz-transform:功能;/*Firefox*/
-webkit-transform:功能;/*Safari和chrome*/
-o-transform:功能;/*Opera*/

2、rotate旋轉,在參數中規定角度(rotate表示的是順時針旋轉,deg是CSS3中的角度單位):

(1)使用方法:
-ms-transform:rotate(角度);/*IE9*/
-moz-transform:rotate(角度);/*Firefox*/
-webkit-transform:rotate(角度);/*Safari和chrome*/
-o-transform:rotate(角度);/*Opera*/

(2)rotate旋轉的應用:

1)HTML代碼:


<p></p>

2)CSS代碼:


p{      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縮放轉換:

(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縮放轉換的應用:

1)HTML代碼:


<p></p>

2)CSS代碼:


p{      width: 300px;      height: 300px;      background-color: lightblue;      /*縮放值X與Y為正整數時*/      -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的浮點數時*/      /*-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的浮點數時*/      /*-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的浮點數時*/      /*-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為正整數時的:

③縮放值X與Y均為小於1的浮點數時的:

④縮放值僅X為小於1的浮點數時的:

⑤縮放值僅Y為小於1的浮點數時的:

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軸同時按一定的角度值進行扭曲變形)只有一個參數的時候,只在水平方向上傾斜;
2)skewX(x)僅使元素在水平方向上扭曲變形(X軸扭曲變形)
3)skewY(y)僅使元素在垂直方向上扭曲變形(Y軸扭曲變形)

(3)傾斜skew的應用:

1)HTML代碼:


<p></p>

2)CSS代碼:


p{      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);            /*設定一個值相當於僅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軸均傾斜的:

③設定一個值相當於僅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軸同時移動)只有一個參數的時候,只在水平方向上移動;
2)translateX(x)僅水平方向(X軸移動)
3)translateY(y)僅垂直方向(Y軸移動)

(3)移動translate的應用:

1)HTML代碼:


<p class="main">      <p class="p"></p>  </p>

2)CSS代碼:


.main{      width: 100%;      height: 500px;      background-color: lightcoral;  }  .p{      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*/            /*設定一個值相當於僅在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軸上均移動時的:

③設定一個值相當於僅在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)對一個元素使用多種變形方法的應用:

1)HTML代碼:


<p class="main">      <p class="p"></p>  </p>

2)CSS代碼:


.main{      width: 100%;      height: 500px;      background-color: lightcoral;  }  .p{      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的應用:

1)HTML代碼:


<p class="main">      <p class="p"></p>  </p>

2)CSS代碼:


.main{      width: 100%;      height: 500px;      background-color: lightcoral;      margin-left: 140px;      margin-top: 180px;  }  .p{      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)如下:

①未添加變形功能的:

②添加旋轉功能的:

③以center為基點旋轉的:

④以top為基點旋轉的:

⑤以top left為基點旋轉的:

⑥以right top為基點旋轉的:

⑦以left為基點旋轉的:

⑧以right為基點旋轉的:

⑨以bottom left為基點旋轉的:

⑩以bottom為基點旋轉的:

⑪以bottom right為基點旋轉的:

相關推薦:

全面對比CSS3與動畫有關的屬性transition、animation、transform

Css3中的transform 漸層屬性怎麼使用

CSS3中關於transform的詳細介紹

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.