精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 編程教程 CSS3教程 查看內(nèi)容

transform 3D 空間轉(zhuǎn)換

transform 3D 空間轉(zhuǎn)換

transform 這個(gè)屬性的強(qiáng)大之處在于它可以把一個(gè)二維的空間轉(zhuǎn)化成一個(gè)三維的空間,給視覺設(shè)計(jì)師更多的發(fā)揮空間,也給用戶帶來更好的視覺體驗(yàn)。

1. 官方定義

transform 屬性向元素應(yīng)用 3D 轉(zhuǎn)換。屬性允許我們對(duì)元素進(jìn)行旋轉(zhuǎn)、縮放、移動(dòng)或傾斜。

2. 解釋

當(dāng)給元素使用 transform 之后,它就可以在它原來所在的位置變成一個(gè)向任意空間變換的元素,這里可以通過在 Z 軸上的設(shè)置,讓他在空間上呈現(xiàn) 3D 效果。

3. 語法

transform: none|transform-functions;

3D 空間坐標(biāo)軸

坐標(biāo)軸

坐標(biāo)軸

值說明

描述
translate3d(x,y,z)定義 3D 轉(zhuǎn)換。
translateX(x)定義轉(zhuǎn)換,只是用 X 軸的值。
translateY(y)定義轉(zhuǎn)換,只是用 Y 軸的值。
translateZ(z)定義 3D 轉(zhuǎn)換,只是用 Z 軸的值。
scale3d(x,y,z)定義 3D 縮放轉(zhuǎn)換。
scaleX(x)通過設(shè)置 X 軸的值來定義縮放轉(zhuǎn)換。
scaleY(y)通過設(shè)置 Y 軸的值來定義縮放轉(zhuǎn)換。
scaleZ(z)通過設(shè)置 Z 軸的值來定義 3D 縮放轉(zhuǎn)換。
rotate3d(x,y,z,angle)定義 3D 旋轉(zhuǎn)。
rotateX(angle)定義沿著 X 軸的 3D 旋轉(zhuǎn)。
rotateY(angle)定義沿著 Y 軸的 3D 旋轉(zhuǎn)。
rotateZ(angle)定義沿著 Z 軸的 3D 旋轉(zhuǎn)。
transform-style在空間內(nèi)如何呈現(xiàn) flat 2D 呈現(xiàn), preserve-3d 3D 呈現(xiàn)

我們?cè)?transform2D 中已經(jīng)對(duì)平面屬性做了詳細(xì)的介紹,本章節(jié)主要是其 3D 屬性,這些屬性的使用需要在父級(jí)設(shè)置 perspective 和 transform-style

讓父級(jí)有了透視效果以及設(shè)置父級(jí)在內(nèi)部空間的呈現(xiàn)方式。

4. 兼容性

IEEdgeFirefoxChromeSafariOperaiosandroid
9+12+28+4+6.1+12.1+7+4.4

5. 實(shí)例

通用 html :

<div class="common demo">transfrom3d</div>
<div class="common demo-3d">transfrom3d</div>

通用 style :

body{
    perspective: px;
}
.common{
    width:px;
    height:px;
    text-align: center;
    line-height: px;
    background:#f2f2f2;
    border:px solid #ccc;        
    position: absolute;     
    top: ;
    left: ;
    
}
.demo{
    z-index: ;   
    opacity: ;       
    background: red;     
}
  1. demo-3d 在 z 坐標(biāo)軸向內(nèi)延伸 100px。

.demo-3d{
    transform:translated( , ,-px);
}

效果圖


編程之家


demo 在 z 坐標(biāo)軸向內(nèi)延伸 100px ,效果圖

說明: 紅色背景是 demo-3d 原來的位置,我們通過圖片看到它的表現(xiàn)是水平向右移動(dòng)且縮小了,其實(shí)他是進(jìn)行了 3D 空間的移動(dòng)。

  1. demo-3d 在 z 軸空間上縮放。

.demo-3d{
    transform:scaled( , ,);
}

效果圖


編程之家


demo 在 z 軸空間上縮放效果圖

說明: scale3d 這個(gè)屬性可以拆成 scaleX() 、scaleY() 、 scaleZ() 。我們發(fā)現(xiàn) scaleZ() 在 3D 空間變化上,它的區(qū)間 0~1 是不起作用的,只有 0 代表縮小到 0(消失), 1 (不變)。

  1. demo-3d 在 z 軸上旋轉(zhuǎn)。

.demo-3d{
    transform: rotated(,,,deg);
}

效果圖


編程之家


demo-3d 在 z 軸上旋轉(zhuǎn)效果圖

說明: 不推薦使用 rotate3d() 這個(gè)屬性,因?yàn)樗荒芡ㄟ^ 0 或 1 去選擇是否需要旋轉(zhuǎn),第 4 個(gè)參數(shù)給 1 個(gè)旋轉(zhuǎn)角度,這種方式很不靈活,不過它的特性就是可以同時(shí)控制 x,y,z 方向上的旋轉(zhuǎn)角度。

其實(shí)我們從 1~3 這 3 個(gè)例子中看到只設(shè)定了其中一項(xiàng),接下來我們?nèi)轿坏淖兓?/p>

  1. 在 x,y,z 上應(yīng)用 translate3d 和 rotateZ

.demo-3d{
    transform:translated(px  ,px ,-px) rotateZ(deg);
}

效果圖:


編程之家


在 x,y,z 上應(yīng)用 translate3d 和 rotateZ 效果圖

5.寫一個(gè)墻角效果

<div class="cude">   
        <div class="common left">left</div>         
        <div class="common right">right</div>
        <div class="common bottom">bottom</div>
</div>
.cude {  
    perspective: px;
    width:px;   
    height:px;   
    position: relative;  
    margin: px auto;   
    transform-style: preserve-d;   
    transform: rotateX(-deg) rotateY(-deg); 
}       
.common {   
    position: absolute;   
    top: ;   
    left: ;   
    width: px;   
    height: px;   
    background:#666;   
    opacity: ;   
    font-size:px;   
    text-align: center;   
    line-height:px;   
    font-weight: bold;   
    color:#fff;   
    border:px solid #fff;   
}       
.right {   
    transform: rotateY(deg) translateZ(px);
    background: rosybrown;
}    
.left {   
    transform: rotateY(-deg) translateZ(px);
    background: rosybrown;
}          
.bottom {   
    transform: rotateX(deg) translateZ(-px);
}

效果圖


編程之家


墻角效果圖

說明: 寫這個(gè)其實(shí)沒有什么技巧,首先設(shè)置 transform-style: preserve-3d; 然后在理解每個(gè)面相對(duì)角度的基礎(chǔ)上去設(shè)置 translateZ 和 rotate3d.

6. 經(jīng)驗(yàn)分享

  1. 我們?nèi)绻浅鯇W(xué) transform,這里介紹一個(gè)區(qū)分旋轉(zhuǎn)角度方向的方法,也就是左手法則,我們左手指向設(shè)置旋轉(zhuǎn)坐標(biāo)的正向,例如 z 軸,左手只向屏幕外,手指自然彎曲的方向就是旋轉(zhuǎn)的方向。

  2. 我們通常旋轉(zhuǎn) 都是以中心點(diǎn)為起點(diǎn)開始旋轉(zhuǎn)的,這往往不是我們想要的方式,可以通過設(shè)置 transform-origin 這個(gè)屬性改變旋轉(zhuǎn)起始點(diǎn)的位置。

transform-origin:   ;

上面設(shè)置代表在元素的水平面的中心位置。

transform-origin:   ;

上面這個(gè)設(shè)置代表在元素 top 的中心位置。

transform-origin:    ;

上面這個(gè)設(shè)置代表在元素 left 的中心位置。

  1. 如果我們?cè)趯?shí)際工作中遇到改變?cè)氐奈恢茫缤献н@些使用 transform:translate3D(x,y,z) 可以提高瀏覽器的性能,而且它的位置變化不會(huì)改變頁面中其它元素的位置。

7. 小結(jié)

rotateX、rotateY這些是 3D 空間的變化,不可以出席在 2D 空間上面。

返回頂部
主站蜘蛛池模板: 青青青青青国产免费手机看视频 | 国产精品一区在线麻豆 | 九九99re在线视频精品免费 | condom色疯狂做受xxxx | 免费在线看a | 台湾亚洲精品一区二区tv | 国产91在线chines看 | 国产逼 | 中国高清性色生活片 | 77777五月色婷婷丁香视频 | 全黄一级裸片视频在线观看 | 亚洲精品乱码电影在线观看 | 亚洲午夜网站 | 色午夜视频 | 久久综合九色综合桃花 | 色鬼影院 | 欧美一级毛片欧美一级 | 在线免费观看网站入口在哪 | 欧美伦理一区 | 日本色图在线 | 亚洲婷婷综合中文字幕第一页 | 国产精品久久国产三级国电话系列 | 国产综合成色在线视频 | 国产精品无码久久av | 亚洲毛片在线播放 | 精品无码久久久久国产 | 中国美女做爰视频高清 | 日本二级毛片免费 | 一级中国乱子伦视频 | 亚洲一区二区三区成人 | free 性欧美69hd| 色黄网站成年女人色毛片 | 91嫩草国产在线观看免费 | 超级碰碰碰碰97久久久久 | 在线观看欧美一区 | 97在线观免费视频观看 | 国产网曝手机视频在线观看 | 国内精品免费视频 | 黄色视屏免费观看 | 亚洲高清免费观看 | 亚洲精品久久久久中文字小说 |