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

17站長網

17站長網 首頁 編程教程 CSS3教程 查看內容

transform 3D 空間轉換

transform 3D 空間轉換

transform 這個屬性的強大之處在于它可以把一個二維的空間轉化成一個三維的空間,給視覺設計師更多的發揮空間,也給用戶帶來更好的視覺體驗。

1. 官方定義

transform 屬性向元素應用 3D 轉換。屬性允許我們對元素進行旋轉、縮放、移動或傾斜。

2. 解釋

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

3. 語法

transform: none|transform-functions;

3D 空間坐標軸

坐標軸

坐標軸

值說明

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

我們在 transform2D 中已經對平面屬性做了詳細的介紹,本章節主要是其 3D 屬性,這些屬性的使用需要在父級設置 perspective 和 transform-style

讓父級有了透視效果以及設置父級在內部空間的呈現方式。

4. 兼容性

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

5. 實例

通用 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 坐標軸向內延伸 100px。

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

效果圖


編程之家


demo 在 z 坐標軸向內延伸 100px ,效果圖

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

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

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

效果圖


編程之家


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

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

  1. demo-3d 在 z 軸上旋轉。

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

效果圖


編程之家


demo-3d 在 z 軸上旋轉效果圖

說明: 不推薦使用 rotate3d() 這個屬性,因為它只能通過 0 或 1 去選擇是否需要旋轉,第 4 個參數給 1 個旋轉角度,這種方式很不靈活,不過它的特性就是可以同時控制 x,y,z 方向上的旋轉角度。

其實我們從 1~3 這 3 個例子中看到只設定了其中一項,接下來我們全方位的變化。

  1. 在 x,y,z 上應用 translate3d 和 rotateZ

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

效果圖:


編程之家


在 x,y,z 上應用 translate3d 和 rotateZ 效果圖

5.寫一個墻角效果

<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);
}

效果圖


編程之家


墻角效果圖

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

6. 經驗分享

  1. 我們如果是初學 transform,這里介紹一個區分旋轉角度方向的方法,也就是左手法則,我們左手指向設置旋轉坐標的正向,例如 z 軸,左手只向屏幕外,手指自然彎曲的方向就是旋轉的方向。

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

transform-origin:   ;

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

transform-origin:   ;

上面這個設置代表在元素 top 的中心位置。

transform-origin:    ;

上面這個設置代表在元素 left 的中心位置。

  1. 如果我們在實際工作中遇到改變元素的位置,例如拖拽這些使用 transform:translate3D(x,y,z) 可以提高瀏覽器的性能,而且它的位置變化不會改變頁面中其它元素的位置。

7. 小結

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

返回頂部
主站蜘蛛池模板: 成人网址大全 | 免费一级毛片无毒不卡 | 一级人与动毛片免费播放 | 亚洲国产日本 | 中文字幕一区在线观看 | 香蕉视频黄在线观看 | 精品欧美一区二区在线观看欧美熟 | 4388x17亚洲最大成人网 | 国产色在线 | 亚洲 国产色在线com | 久久r精品 | 最新国产美女一区二区三区 | 天天看黄 | m3u8久久国产精品影院 | 日韩一级片免费在线观看 | 久久中文字幕视频 | 黄色激情网址 | a级毛片在线免费看 | 青青免费视频精品一区二区 | 国产成人www免费人成看片 | 成人国产精品一级毛片天堂 | 污污的视频在线播放 | aaa毛片在线 | 日韩欧美国产中文 | 欧美大片天天免费看视频 | 手机看片福利日韩 | 国产亚洲美女精品久久 | 午夜香蕉视频 | 2021中国大陆精品视频xxxx | 亚洲在线不卡 | 国产特级黄色片 | 久久精品一区二区三区不卡 | 谁有免费的黄色网址 | 色婷婷5月精品久久久久 | 牛牛在线 | 67194欧美成l人在线观看免费 | 久爱www免费人成福利播放 | 日本一级毛片免费 | 中文字幕日本亚洲欧美不卡 | 日韩毛片欧美一级a网站 | 一级黄色片免费看 | 日本videosbest极品 |