CSS3屬性transform詳解之(旋轉:rotate,縮放:scale,傾斜:skew,移動:translate)

在CSS3中,可以利用transform功能來實現文字或圖像的旋轉、縮放、傾斜、移動這四種類型的變形處理,本文將對此做詳細介紹。

一.旋轉 rotate

用法:transform: rotate(45deg);

共一個參數“角度”,單位deg爲度的意思,正數爲順時針旋轉,負數爲逆時針旋轉,上述代碼作用是順時針旋轉45度。

二.縮放 scale

用法:transform: scale(0.5)  或者  transform: scale(0.5, 2);

參數表示縮放倍數;

  • 一個參數時:表示水平和垂直同時縮放該倍率
  • 兩個參數時:第一個參數指定水平方向的縮放倍率,第二個參數指定垂直方向的縮放倍率。

三.傾斜 skew

用法:transform: skew(30deg)  或者 transform: skew(30deg, 30deg);

參數表示傾斜角度,單位deg

  • 一個參數時:表示水平方向的傾斜角度;
  • 兩個參數時:第一個參數表示水平方向的傾斜角度,第二個參數表示垂直方向的傾斜角度。

關於skew傾斜角度的計算方式表面上看並不是那麼直觀,這裏借鑑某大拿繪製的圖舉例說明一下:

首先需要說明的是skew的默認原點transform-origin是這個物件的中心點

skewX(30deg) 如下圖:

transform之skew 詳解

 

skewY(10deg) 如下圖:

transform詳解之skewY

 

skew(30deg, 10deg) 如下圖:

transform詳解之skew

 

我當初就是看到此圖瞬間理解的。

四.移動 translate

用法:transform: translate(45px)  或者 transform: skew(45px, 150px);

參數表示移動距離,單位px,

  • 一個參數時:表示水平方向的移動距離;
  • 兩個參數時:第一個參數表示水平方向的移動距離,第二個參數表示垂直方向的移動距離。

五.基準點 transform-origin

在使用transform方法進行文字或圖像的變形時,是以元素的中心點爲基準點進行的。使用transform-origin屬性,可以改變變形的基準點。

用法:transform-origin: 10px 10px;

共兩個參數,表示相對左上角原點的距離,單位px,第一個參數表示相對左上角原點水平方向的距離,第二個參數表示相對左上角原點垂直方向的距離;

兩個參數除了可以設置爲具體的像素值,其中第一個參數可以指定爲left、center、right,第二個參數可以指定爲top、center、bottom。

六.多方法組合變形

上面我們介紹了使用transform對元素進行旋轉、縮放、傾斜、移動的方法,這裏講介紹綜合使用這幾個方法來對一個元素進行多重變形。

用法:transform: rotate(45deg) scale(0.5) skew(30deg, 30deg) translate(100px, 100px);

這四種變形方法順序可以隨意,但不同的順序導致變形結果不同,原因是變形的順序是從左到右依次進行,這個用法中的執行順序爲1.rotate  2.scalse  3.skew  4.translate

注:瀏覽器支持性不做介紹,具體使用時請做具體測試,本人秉着早晚所有瀏覽器都會支持的態度寫此文。

本條目發佈於2013年11月19日。屬於CSS3分類,被貼了 rotatescaleskewtransformtransform-origintranslate 標籤。作者是聽心_cy
發佈了14 篇原創文章 · 獲贊 2 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章