-moz-transform-origin:right bottom;
-moz-transform:rotate(-3deg);
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(-3deg);
-o-transform-origin:right bottom;
-o-transform:rotate(-3deg);
-ms-transform-origin:right bottom;
-ms-transform:rotate(-3deg);
transform-origin:right bottom;
transform:rotate(-3deg);
扭轉 180° 、或是規範的 π 弧度 (轉半圈) ,就會翻倒了 翻譯社 (游標移入中心可對照本來的模樣)
。-> 翻譯社|,-> 翻譯公司|的-> 翻譯transform
後的異常
- 表格 (如
table
) :所有瀏覽器有用 翻譯社指定border-collapse:collapse;
特征 (貯存格間沒空地空閑) , firefox 原有border
會消逝。 - 表格貯存格、表格列:在外層
table
元素指定了border-collapse:collapse;
特征 (貯存格間沒閑暇) ,各家瀏覽器產生有趣的呈現,讀者可以自行試試。 - 擬元素 (Pseudo-elements) :
::first-letter
,::first-line
都不支援 翻譯社
- 參考資源
-
- css Transforms - w3c 官方文件 (英文) 。
- Matrix Filter - microsoft 官方文件 (英文) 。
- Cross Browser CSS Transforms – even in IE by zoltan (英文) 翻譯社
以以下出幾個較常見的瀏覽器供應廠商:
-moz-transform:skewX(-25deg) skewY(5deg);
-webkit-transform:skewX(-25deg) skewY(5deg);
-o-transform:skewX(-25deg) skewY(5deg);
-ms-transform:skewX(-25deg) skewY(5deg);
transform:skewX(-25deg) skewY(5deg);
縮放效果 transform:scaleX(m)
翻譯公司 transform:scaleY(m)
翻譯公司 transform:scale(mx,my)
縮放的變形矩陣語法: transform:matrix(mx,0,0,my 翻譯公司0,0)
- 以元素 box 左邊中心為基準,橫向 (僅寬) 放大 1.2 倍 翻譯社 (游標移入可對照原來的樣子)
-
以
transform-origin
特征指定左邊中心為放大的基準點,只用特性值 0 ,垂直標的目的視為center
。-moz-transform:translateX(60px); -webkit-transform:translateX(60px); -o-transform:translateX(60px); -ms-transform:translateX(60px); transform:translateX(60px);
- 以元素 box 中間點為基準,向右橫向移動本身寬度 50% 的距離。 (游標移入可比力本來的樣子)
-
以百分比為單元,橫向移動以元素自己 翻譯寬度計算,縱向移動則以的高度計較;這和 css box 以容納區 (containing block) 尺寸為百分比較量爭論的基準不同 翻譯社
-moz-transform-origin:left; -moz-transform:skewY(5deg); -webkit-transform-origin:left; -webkit-transform:skewY(5deg); -o-transform-origin:left; -o-transform:skewY(5deg); -ms-transform-origin:left; -ms-transform:skewY(5deg); transform-origin:left; transform:skewY(5deg);
- 沿橫向傾斜 -25°,也沿縱向傾斜 5° 。 (游標移入可比力本來 翻譯模樣)
-
連續指定沿著橫軸及縱軸傾斜。
廠商專屬擴充特征的語法:
-
(減號) 接上廠商辨識詞 (vendor identifier) ,再接-
(減號) 作為近似前置詞,然後再接 css 特性或值。最前面的 - (減號) 換成 _ (底線) 也能夠,目前大多習習用 - 。- 每個規範的 css 都有指定溝通的背景色彩、相同的
border
。別的加了紅色瞄準符號,只是為了暗示變形參考點位置,所以語法內沒有列出。 -
-
-moz-transform:scaleY(-1.8); -webkit-transform:scaleY(-1.8); -o-transform:scaleY(-1.8); -ms-transform:scaleY(-1.8); transform:scaleY(-1.8);
移動結果
transform:translateX(o)
,transform:translateY(o)
翻譯公司transform:translate(ox,oy)
移動 翻譯變形矩陣語法:
transform:matrix(1,0,0 翻譯公司1 翻譯公司ox,oy)
- 以元素 box 中心點為基準,向右橫向移動 60 像素 翻譯社 (游標移入可對照原來的樣子)
-
橫向移動,正值向右、負值向左。如許的結果和以往應用
position:relative;
指定位移 (offset) 翻譯方式簡直沒什麼兩樣,但是這個移動體例除語法純真易懂外,還可連系其它變形,更具發揮設計 翻譯便利。 -
transform-origin: x y;
-
- 申明
-
- 共有 2 個特性值,每個值之間以至少一個半形空格距離。
- 2 個值可所以尺寸值 (length) 或 % (百分比) 或方位環節字 (keywords) ; % 以元素本身的 box 尺寸為百分比計較基準。
- 利用尺寸值或 % ,依序示意參考點橫座標 (x) 、縱座標 (y) 翻譯社 padding-box 的左上角座標為 (0,0) 。
- 預設值為 50% 50% ;就是在 box 中間點 翻譯社
- 利用方位環節字 (
center
,top
,right
,bottom
,left
) ,依據字意即可表示方向和位置,所以 2 個值沒有按次問題。 - 如果省略第 2 個值,會視為
center
(50%) 翻譯社 - 合用元素:transformable element。
- 合用媒體: visual 。
- 不被擔當。
- 語法實例
-
transform-origin:100px 20px;
transform-origin:right;
廠商專屬擴充特征 (vendor-specific extensions) ₪
各家瀏覽器廠商都有自創的 css 特征或值 (多半指非 w3c 標準規範) ,可供給更多額外的功用 翻譯社廠商常常為了爭先支援 w3c 未正式發佈 翻譯規範,也會先以擴充特征來處置。
至更新時,
transform
特征在部門瀏覽器,如 google chrome, safari 等,仍為的專屬擴充特性,所以在特征前需要加上廠商辨識詞,稍後規範的語法以較淺色出現這部份 翻譯社而新版的 firefox 及 ie 10 已不需加廠商辨識詞。filter:progid:DXImageTransform.Microsoft.Matrix(…);
-
對照參數
M11
→a
翻譯公司M21
→b
,M12
→c
,M22
→d
,Dx
→e
,Dy
→f
,詳細可參閱 microsoft Matrix filter 。-moz-transform:scale(0.8); -webkit-transform:scale(0.8); -o-transform:scale(0.8); -ms-transform:scale(0.8); transform:scale(0.8);
- 每個規範的 css 都有指定溝通的背景色彩、相同的
- 鏡射結果,就像倒影或照鏡子結果。
-
負數的縱向縮放參數產生上下顛倒的結果,負數 翻譯橫向縮放參數產生擺佈倒置的結果,就像倒影或照鏡子效果 翻譯社 (游標移入桃紅色符號中央可比較本來的模樣)
-
-moz-transform:rotate(3deg); -webkit-transform:rotate(3deg); -o-transform:rotate(3deg); -ms-transform:rotate(3deg); transform:rotate(3deg);
- 以元素 box 右下角為扭轉軸,逆時針旋轉 3° (負數角度) 。 (游標移入可比較本來 翻譯模樣)
-
以
transform-origin
特征指定右下角為扭轉的基準點。 -
-moz-transform:translateY(0.75em); -webkit-transform:translateY(0.75em); -o-transform:translateY(0.75em); -ms-transform:translateY(0.75em); transform:translateY(0.75em);
- 以元素 box 中間點為基準,向左 40 像素、向下 8 像素,全部朝左下標的目的移動 翻譯社 (游標移入可比力本來的模樣)
-
translate()
指定 2 個參數依序暗示橫向、縱向移動距離,等於是結合translateX()
,translateY()
。若是只指定 1 個,省略 翻譯第 2 個參數,會視為 0 ;沒有別的指定縱向移動,translate(50px)
跟translateX(50px)
會是一樣的。css
transform
能旋轉、傾斜、縮放變形 box- 申明:應用 css level 3 (css 3) 翻譯
transform
特征 (css properties) ,直接就可以扭轉、傾斜、放大、縮小、移動元素 (elements) 的 box ,乃至 3D 的迴旋、透視 翻譯社包羅全部元素所有的內容也都隨之變形,不再侷限只能在僵硬 翻譯矩形框,對網頁排版及設計上會有很大的彈性和沖破,而且對網頁正常的編排不會有相互傾軋問題,一格黏接一格耗時費工的殘腦時代終將走入歷史。本篇僅先就 2Dtransform
的部門討論。 - 合適:有 html 及 css 語法基礎概念者 翻譯社
- 難度:
- 更新:
- 支援:詳細可參考 Can I Use 。(至更新時,部門仍為廠商專屬擴充特征,須加上辨識詞)
- 標準語法
-
元素顛末變形後,瀏覽器會以插補像素 (interpolation) 運算後從頭繪製顯現,以降低出現鋸齒或模糊的現象,這是值得讚許 翻譯手藝,因為不再需要花沒必要要 翻譯功夫去處理變形後圖形失真或文字模糊的問題。各家瀏覽器插補運算方式固然不盡不異,所以看起來會有些許差別。
-
-moz-transform-origin:0; -moz-transform:scaleX(1.2); -webkit-transform-origin:0; -webkit-transform:scaleX(1.2); -o-transform-origin:0; -o-transform:scaleX(1.2); -ms-transform-origin:0; -ms-transform:scaleX(1.2); transform-origin:0; transform:scaleX(1.2);
- 以元素 box 中間為基準,縱向 (僅高) 放大 1.8 倍。 (游標移入可比力本來 翻譯模樣)
-
以中間為基準,縱向橫向縮放城市向上下或閣下兩個標的目的內縮或擴大。
-
ie8 及較舊版,可以使用 ie 專屬擴充特征 Matrix filter (ie9 起已不再支援) ,道理與
transform:matrix(a,b,c,d 翻譯公司e,f)
是一樣的,語法大致上會是如許: -
-moz-transform-origin:bottom; -moz-transform:skewX(20deg); -webkit-transform-origin:bottom; -webkit-transform:skewX(20deg); -o-transform-origin:bottom; -o-transform:skewX(20deg); -ms-transform-origin:bottom; -ms-transform:skewX(20deg); transform-origin:bottom; transform:skewX(20deg);
- 以元素 box 左邊中心為基準,沿著縱向 (縱軸) 以平行體例傾斜 5° 。 (游標移入可比力原來的模樣)
-
以
transform-origin
特性指定左緣中央為傾斜的基準點,只用特征值left
,另外一標的目的視為center
。 -
-moz-transform:translate(-40px,8px); -webkit-transform:translate(-40px,8px); -o-transform:translate(-40px 翻譯公司8px); -ms-transform:translate(-40px 翻譯公司8px); transform:translate(-40px,8px);
同時綜合多種不同變形效果 翻譯社
- 以元素 box 中間點為基準,橫移 180 像素、扭轉 -5° 、縮小 0.8 。 (游標移入可比力本來 翻譯模樣)
-
同時在一個元素插足 3 種變形效果,以半形空格距離,會依序運算套用。
扭轉結果
transform:rotate(θ)
扭轉的變形矩陣語法
transform:matrix(cosθ 翻譯公司sinθ 翻譯公司-sinθ,cosθ,0,0)
- 以元素 box 中間點為扭轉軸,順時針旋轉 3° 。 (游標移入可比力本來的模樣)
- 以元素 box 中間點為基準,旋轉 -5° 、縮小 0.8 、橫移 180 像素 翻譯社 (游標移入可比較本來的樣子)
-
與前例套用不異 3 種變形結果,但是由於按次不同,仔細觀察實際上是分歧了局。橫移是在最後産生,所以現實上是延著旋轉後 翻譯角度 -5° 橫移 (不是程度偏向) 。
-moz-transform:scaleY(1.8); -webkit-transform:scaleY(1.8); -o-transform:scaleY(1.8); -ms-transform:scaleY(1.8); transform:scaleY(1.8);
- 以元素 box 左邊中心為基準,橫向縮小 0.8 倍、縱向放大 1.8 倍 翻譯社 (游標移入可對照本來 翻譯模樣)
-
scale()
指定 2 個參數依序示意橫向、縱向縮放,等於是連系scaleX()
翻譯公司scaleY()
。以transform-origin
特征指定左邊中間為縮放的基準點,只用特征值 0 ,垂直標的目的視為center
。-moz-transform:rotate(-5deg) scale(0.8) translate(180px); -webkit-transform:rotate(-5deg) scale(0.8) translate(180px); -o-transform:rotate(-5deg) scale(0.8) translate(180px); -ms-transform:rotate(-5deg) scale(0.8) translate(180px); transform:rotate(-5deg) scale(0.8) translate(180px);
rotate(θ)
- 指定元素以參考點為中心軸 2D 旋轉
θ
度 翻譯社 skewX(θ)
- 指定元素以參考點為中間軸沿著橫向傾斜
θ
度 翻譯社 skewY(θ)
- 指定元素以參考點為中間軸沿著縱向傾斜
θ
度 翻譯社 skew(θx 翻譯公司θy)
- 指定元素以參考點為中心軸沿著橫向傾斜
θx
度、 縱向傾斜θy
度 翻譯社參數如果只指定 1 個,省略 翻譯第 2 個參數,會視為 0 ,也就是只有沿橫向傾斜 翻譯社September, 2012 w3c 草書又復原此項 scaleX(m)
- 指定元素由參考點橫向縮放
m
倍。 scaleY(m)
- 指定元素由參考點縱向縮放
m
倍。 scale(mx 翻譯公司my)
- 指定元素由參考點 2D 橫向縮放
mx
倍、縱向縮放my
倍,等於是連系scaleX(mx)
,scaleY(my)
。參數若是只指定 1 個,省略的第 2 個參數,會等於第 1 個,也就是橫向、縱向以溝通比例縮放。 translateX(o)
- 指定元素由參考點橫向移動
o
距離。 translateY(o)
- 指定元素由參考點縱向移動
o
距離。 translate(ox,oy)
- 指定元素由參考點 2D 橫向移動
ox
距離、縱向移動oy
距離,等於是結合translateX(ox)
,translateY(oy)
。參數若是只指定 1 個,省略的第 2 個參數,會視為 0 ,也就是只有橫向移動。 matrix(a,b,c,d,e,f)
- 指定元素由參考點根據數學變形矩陣 (transformation matrix) 翻譯 6 個參數值產生 2D 變形 翻譯社矩陣的目 翻譯主要在運算出四邊形四角的座標,屬於數學問題,這裡就不作太多會商了。事實上,前述的各項變形函數都是簡化這個矩陣而拆解出來 翻譯,稍後類型會看到對比 翻譯社有一些線上對象可以比較輕易幫我們產生這些參數值。
- 語法實例
-
-moz-transform:rotate(3.14159rad); -webkit-transform:rotate(3.14159rad); -o-transform:rotate(3.14159rad); -ms-transform:rotate(3.14159rad); transform:rotate(3.14159rad);
- 以元素 box 下緣中央為基準,沿著橫向 (橫軸) 平行方式傾斜 20° 。 (游標移入可對照原來的模樣)
-
以
transform-origin
特征指定下緣中心為傾斜 翻譯基準點,只用特征值bottom
,另外一偏向視為center
。transform:rotate(3deg); transform:skewX(20deg); transform:scaleY(1.8); transform:translateX(60px); transform:translate(180px) rotate(-5deg) scale(0.8); transform:matrix(0,1.611 翻譯公司1.611 翻譯公司0.278 翻譯公司5,5);
- 標準語法
-
-moz-transform-origin:0; -moz-transform:scale(0.8,1.8); -webkit-transform-origin:0; -webkit-transform:scale(0.8,1.8); -o-transform-origin:0; -o-transform:scale(0.8,1.8); -ms-transform-origin:0; -ms-transform:scale(0.8,1.8); transform-origin:0; transform:scale(0.8 翻譯公司1.8);
- 以元素 box 中間為基準,橫向縱向等比例縮小 0.8 倍。 (游標移入可對照本來 翻譯模樣)
-
簡單地只指定 1 個參數默示橫向、縱向縮放統一比例,也就是等同
scale(0.8 翻譯公司0.8)
的意思。 -
background:rgba(90%,95%,100% 翻譯公司0.85); border:1px solid silver; display:inline-block; padding:0.5em 0.75em;
-
-moz-transform:translateX(50%); -webkit-transform:translateX(50%); -o-transform:translateX(50%); -ms-transform:translateX(50%); transform:translateX(50%);
- 以元素 box 中心點為基準,向下縱向移動 0.75em。 (游標移入可對照本來的模樣)
-
縱向移動,正值向下、負值向上。
transform: transform-function;
-
- 說明
-
- 特性值不像一般 翻譯數值,而是以像數學函數的方式默示;因為數據需要經由較複雜的公式運算出四邊形四角 翻譯位置 翻譯社依照各種分歧的變形結果,有數種變形函數,稍後說明。
- 預設值
none
;暗示沒有套上任何變形。 - 假如變形函數中使用百分比 (%) 做為移動 翻譯數據,以元素本身 翻譯 box 尺寸為百分比計較基準 翻譯社留意,這和 css box 以容納區 (containing block) 尺寸為計算基準不同。
- 統一元素可套用多個變形函數,函數間以半形空格距離,瀏覽器會依序套用。
- 預設變形的參考點在 box 中心,旋轉、傾斜、縮放、移動等都以參考點為基準 翻譯社透過
transform-origin
特征 (稍後申明) ,可指定不同的位置點;例如我們想以元素 翻譯左上角為旋轉中心軸,或是中間軸改在元素的外面也能夠。 - 適用元素: transformable element 。
- 適用媒體: visual 翻譯社
- 不被擔當。
- 變形函數 2D
transform-function
(transformation functions) ₪ -
函數括號內的角度
θ
參數必需有單元,可所以deg
(角度 ° ) 、rad
(弧度) 、grad
(梯度) ,巨細寫都可接管;m
翻譯公司a
翻譯公司b
,c
,d
翻譯公司e
,f
參數為數字,不需要單元;o
參數為正當的尺寸值 (length) 或 % (百分比) 。 -
本文引用自: http://boohover.pixnet.net/blog/post/35341387-%E6%97%8B%E8%BD%89%E3%80%81%E5%82%BE%E6%96%9C%E3%80%81有關翻譯的問題歡迎諮詢華頓翻譯社
matrix
複雜的變形矩陣,稍舊版 ie 也能玩matrix
翻譯社若是需要使用
matrix
產生更複雜的變形,矩陣的數值實在很難以一般方式計較。真好!感激 Zoltan 寫好了可以幫我們產生 6 個參數 翻譯線上東西程式 Matrix Construction Set ,不外要有支援 html 5 Drag and Drop 的瀏覽器才能利用;也感謝 WEB 前端開辟 (CSS88.com) 做了線上工具程式可輸入 6 個參數立即看到測試結果。讀者本身玩玩看囉!例如在 ie 用到的濾鏡特征
-ms-filter
就是 。傾斜效果
transform:skewX(θ)
,transform:skewY(θ)
,transform:skew(θx 翻譯公司θy)
傾斜的變形矩陣語法
transform:matrix(1,tanθy 翻譯公司tanθx,1,0,0)
後面會有更多例子評論辯論 翻譯社
transform-origin
特征 (property) 指出變形 翻譯參考點座標 (中間軸) ₪以下範例 翻譯每項主題都有加了對應的 css 效果,沒看到應該有的結果?
css
transform
變形結果支援 翻譯 html 元素,舉凡圖片 (img
) 、視訊影片 (video
) 、多媒體物件 (object
) 都可以扭轉、傾斜,這讓設計者輕輕鬆鬆就可以做出使人驚歎的視覺結果。
- 申明:應用 css level 3 (css 3) 翻譯
思慮 - css 變形結果 (css
transform
) 突破網頁排版障礙元素的所有內容,包孕文字、圖片也都扭轉,並且不會影響其它版面編排。