認(rèn)識 `3D` 轉(zhuǎn)換

一霍转、 認(rèn)識 3D 轉(zhuǎn)換
  1. 3D 的特點(diǎn)
    • 近大遠(yuǎn)小
    • 物體和面遮擋不可見
  2. 三維坐標(biāo)系
    • x 軸:水平向右 -- 注意:x 軸右邊是正值,左邊是負(fù)值

    • y 軸:垂直向下 -- 注意:y 軸下面是正值,上面是負(fù)值

    • z 軸:垂直屏幕 -- 注意:往外邊的是正值,往里面的是負(fù)值

      sanwei.png

二、3D 轉(zhuǎn)換
  1. 3D 轉(zhuǎn)換知識要點(diǎn)

    • 3D 位移:translate3d(x, y, z)
    • 3D 旋轉(zhuǎn):rotate3d(x, y, z)
    • 透視:perspctive
    • 3D呈現(xiàn) transfrom-style
  2. 3D 移動 translate3d

  • 3D 移動就是在 2D 移動的基礎(chǔ)上多加了一個可以移動的方向,就是 z 軸方向
  • transform: translateX(100px):僅僅是在 x 軸上移動
  • transform: translateY(100px):僅僅是在 y 軸上移動
  • transform: translateZ(100px):僅僅是在 z 軸上移動
  • transform: translate3d(x, y, z):其中x殴泰、y于宙、z 分別指要移動的軸的方向的距離
  • 注意:x, y, z 對應(yīng)的值不能省略,不需要填寫用 0 進(jìn)行填充
  1. 語法
 transform: translate3d(x, y, z)
  1. 代碼演示
transform: translate3d(100px, 100px, 100px)
/* 注意:x, y, z 對應(yīng)的值不能省略悍汛,不需要填寫用 0 進(jìn)行填充 */
transform: translate3d(100px, 100px, 0)
三捞魁、透視 perspective
  1. 知識點(diǎn)講解

    • 如果想要網(wǎng)頁產(chǎn)生 3D 效果需要透視(理解成 3D 物體投影的 2D 平面上)
    • 實際上模仿人類的視覺位置,可視為安排一直眼睛去看
    • 透視也稱為視距离咐,所謂的視距就是人的眼睛到屏幕的距離
    • 距離視覺點(diǎn)越近的在電腦平面成像越大谱俭,越遠(yuǎn)成像越小
    • 透視的單位是像素
  2. 知識要點(diǎn)

    • 透視需要寫在被視察元素的父盒子上面
    • 注意下方圖片
      • d:就是視距,視距就是指人的眼睛到屏幕的距離

      • z:就是 z 軸宵蛀,z 軸越大(正值)昆著,我們看到的物體就越大


        perspective.png

?

  1. 代碼演示

    body {
      perspective: 1000px;
    }
    
四、 translateZ
  1. translateZperspecitve 的區(qū)別
  • perspecitve 給父級進(jìn)行設(shè)置术陶,translateZ 給 子元素進(jìn)行設(shè)置不同的大小
五凑懂、3D 旋轉(zhuǎn)rotateX

3D 旋轉(zhuǎn)指可以讓元素在三維平面內(nèi)沿著 x 軸、y 軸梧宫、z 軸 或者自定義軸進(jìn)行旋轉(zhuǎn)

  1. 語法

    • transform: rotateX(45deg) -- 沿著 x 軸正方向旋轉(zhuǎn) 45 度
    • transform: rotateY(45deg) -- 沿著 y 軸正方向旋轉(zhuǎn) 45 度
    • transform: rotateZ(45deg) -- 沿著 z 軸正方向旋轉(zhuǎn) 45 度
    • transform: rotate3d(x, y, z, 45deg) -- 沿著自定義軸旋轉(zhuǎn) 45 deg 為角度
  2. 代碼案例

div {
  perspective: 300px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateX(-45deg)
}
  1. 左手準(zhǔn)則

    • 左手的手拇指指向 x 軸的正方向

    • 其余手指的彎曲方向就是該元素沿著 x 軸旋轉(zhuǎn)的方向


      rotateX.png
六接谨、3D 旋轉(zhuǎn) rotateY
  1. 代碼演示
div {
  perspective: 500px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateY(180deg)
}
  1. 左手準(zhǔn)則

    • 左手的拇指指向 y 軸的正方向

    • 其余的手指彎曲方向就是該元素沿著 y 軸旋轉(zhuǎn)的方向(正值)


      rotateY.png
七、 3D 旋轉(zhuǎn) rotateZ
  1. 代碼演示
div {
  perspective: 500px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateZ(180deg)
}
  1. rotate3d
  • transform: rotate3d(x, y, z, deg) -- 沿著自定義軸旋轉(zhuǎn) deg 為角度
  • x, y, z 表示旋轉(zhuǎn)軸的矢量塘匣,是標(biāo)識你是否希望沿著該軸進(jìn)行旋轉(zhuǎn)脓豪,最后一個標(biāo)識旋轉(zhuǎn)的角度
    • transform: rotate3d(1, 1, 0, 180deg) -- 沿著對角線旋轉(zhuǎn) 45deg
    • transform: rotate3d(1, 0, 0, 180deg) -- 沿著 x 軸旋轉(zhuǎn) 45deg
  1. 代碼演示

    div {
      perspective: 500px;
    }
    
    img {
      display: block;
      margin: 100px auto;
      transition: all 1s;
    }
    
    img:hover {
      transform: rotate3d(1, 1, 0, 180deg)
    }
    
八、3D 呈現(xiàn) transform-style
  1. transform-style
  - ☆☆☆☆☆

  -  控制子元素是否開啟三維立體環(huán)境
  - `transform-style: flat`  代表子元素不開啟 `3D` 立體空間忌卤,默認(rèn)的
  - `transform-style: preserve-3d` 子元素開啟立體空間
  -  代碼寫給父級扫夜,但是影響的是子盒子
  1. 代碼演示
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            perspective: 500px;
        }
        
        .box {
            position: relative;
            width: 200px;
            height: 200px;
            margin: 100px auto;
            transition: all 2s;
            /* 讓子元素保持3d立體空間環(huán)境 */
            transform-style: preserve-3d;
        }
        
        .box:hover {
            transform: rotateY(60deg);
        }
        
        .box div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: pink;
        }
        
        .box div:last-child {
            background-color: purple;
            transform: rotateX(60deg);
        }
    </style>
</head>

<body>
    <div class="box">
        <div></div>
        <div></div>
    </div>
</body>

</html>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市埠巨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌现拒,老刑警劉巖辣垒,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異印蔬,居然都是意外死亡勋桶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門侥猬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來例驹,“玉大人,你說我怎么就攤上這事退唠【樾猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵瞧预,是天一觀的道長屎债。 經(jīng)常有香客問我仅政,道長,這世上最難降的妖魔是什么盆驹? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任圆丹,我火速辦了婚禮,結(jié)果婚禮上躯喇,老公的妹妹穿的比我還像新娘辫封。我一直安慰自己,他們只是感情好廉丽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布倦微。 她就那樣靜靜地躺著,像睡著了一般雅倒。 火紅的嫁衣襯著肌膚如雪璃诀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天蔑匣,我揣著相機(jī)與錄音劣欢,去河邊找鬼。 笑死裁良,一個胖子當(dāng)著我的面吹牛凿将,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播价脾,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼牧抵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了侨把?” 一聲冷哼從身側(cè)響起犀变,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秋柄,沒想到半個月后获枝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骇笔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年省店,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笨触。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡懦傍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芦劣,到底是詐尸還是另有隱情粗俱,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布虚吟,位于F島的核電站源梭,受9級特大地震影響娱俺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜废麻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一荠卷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烛愧,春花似錦油宜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沧卢,卻和暖如春蚁堤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背但狭。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工披诗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人立磁。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓呈队,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唱歧。 傳聞我的和親對象是個殘疾皇子宪摧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容