CSS3中的transform屬性進(jìn)行2D和3D變換的基本用法

transform 2D
之前有看到google將搜尋的頁面傾斜,這個(gè)功能透過CSS3的transform就可以達(dá)成
CSS3 2D transform特性可以旋轉(zhuǎn)、傾斜、放大縮小和移動(dòng)元素,對(duì)網(wǎng)頁的視覺觀感上提供很大的幫助
使用方法:
- transform: transform-function;
- -webkit-transform: transform-function; /* Safari and Chrome */
- -moz-transform: transform-function; /* Firefox */
- -o-transform: transform-function; /* Opera */
- -ms-transform:transform-function; /* IE9以上 */
變形函式 transform-function:
函式里的θ參數(shù)要有單位,有三種單位可以使用:deg (角度) 、 rad (弧度) 、 grad (梯度)。
1.rotate(θ):以參考點(diǎn)為中心軸 2D 旋轉(zhuǎn) θ 度。
2.skew(θx,θy):以參考點(diǎn)為中心軸沿著橫向傾斜 θx 度、縱向傾斜 θy 度( 可以拆開成skewX(θ)和skewY(θ) )
3.scale(x,y):指定元素由參考點(diǎn) 2D 橫向縮放 x 倍、縱向縮放 y 倍( 可以拆開成scaleX(x)和scaleY(y),此函式的參數(shù)不需要單位 )
4.translate(x,y):指定元素由參考點(diǎn) 2D 橫向移動(dòng) x 距離、縱向移動(dòng) y 距離( 可以拆開成translateX(x)和translateY(y),此函式的參數(shù)單位為px )
5.matrix(a,b,c,d,e,f):指定元素由參考點(diǎn)依據(jù)數(shù)學(xué)變形矩陣 (transformation matrix) 的 6 個(gè)參數(shù)值產(chǎn)生 2D 變形( 此函式的參數(shù)為數(shù)字,不需要單位 )
Sample
- /* Safari and Chrome 網(wǎng)頁傾斜50度 */
- -webkit-transform: rotate(50deg);
transform 3D & perspective
CSS3的transform可以做2D的操作,當(dāng)然也有3D
但需要再一個(gè)擁有perspective屬性的父元素才能顯現(xiàn)3D的效果
例如:
- <div id="div1"><!-- perspective -->
- <div id="div2">3D</div><!-- transform -->
- </div>
perspective屬性固名思義就是透視的意思;該屬性可以定義3D視覺的角度,讓底下子元素使用3D特效時(shí)能夠完整顯示。
perspective使用方法
perspective:150px;
- /* 目前并非所有瀏覽器皆支援 */
- -webkit-perspective:150px;
- -moz-perspective:150px;
另外還有個(gè)屬性叫perspective-origin
功能是用來定義X和Y軸為基礎(chǔ)的3D位置(定義初始位置)
perspective-origin使用方法:
屬性值:(x軸:left、center、right、長度、百分比) (y軸:top、center、bottom、長度、百分比)
- /* perspective-origin 參數(shù)預(yù)設(shè)是50% 50% */
- -webkit-perspective-origin: 40% 60%;/* Safari and Chrome */
- -webkit-perspective-origin: 40px 60px;/* Safari and Chrome */
- -moz-perspective-origin:left bottombottom; /* Firefox */
注意:perspective和perspective-origin受影響的是子元素,而非元素本身
最后就可以對(duì)div做3D的效果(rotateX和rotateY)
- -webkit-transform: rotateX(290deg);
- -webkit-transform: rotateY(290deg);
- -moz-transform: rotateX(290deg);
- -moz-transform: rotateY(290deg);
相關(guān)文章
- transform 屬性向元素應(yīng)用 2D 或 3D 轉(zhuǎn)換。該屬性允許我們對(duì)元素進(jìn)行旋轉(zhuǎn)、縮放、移動(dòng)或傾斜。2014-09-30
css3中transform屬性實(shí)現(xiàn)的4種功能
在CSS3中,可以利用transform功能實(shí)現(xiàn)文字或圖像的旋轉(zhuǎn)、縮放、傾斜、移動(dòng)這4中類型的變形處理。本文就詳細(xì)的介紹了這4種實(shí)現(xiàn),感興趣的可以了解一下2021-08-05