HTML5-CSS3總結學習(三)

1、 認識 3D 轉換

  1. 3D 的特色css

    • 近大遠小
    • 物體和麪遮擋不可見
  2. 三維座標系spa

    • x 軸:水平向右 -- 注意:x 軸右邊是正值,左邊是負值
    • y 軸:垂直向下 -- 注意:y 軸下面是正值,上面是負值
    • z 軸:垂直屏幕 -- 注意:往外邊的是正值,往裏面的是負值


2、3D 轉換

  1. 3D 轉換知識要點3d

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

    • 3D 移動就是在 2D 移動的基礎上多加了一個能夠移動的方向,就是 z 軸方向
    • transform: translateX(100px):僅僅是在 x 軸上移動
    • transform: translateY(100px):僅僅是在 y 軸上移動
    • transform: translateZ(100px):僅僅是在 z 軸上移動
    • transform: translate3d(x, y, z):其中x、y、z 分別指要移動的軸的方向的距離
    • 注意:x, y, z 對應的值不能省略,不須要填寫用 0 進行填充
  3. 語法orm

    transform: translate3d(x, y, z)
  4. 代碼演示圖片

    transform: translate3d(100px, 100px, 100px)
    /* 注意:x, y, z 對應的值不能省略,不須要填寫用 0 進行填充 */
    transform: translate3d(100px, 100px, 0)

3、透視 perspective

  1. 知識點講解ci

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

    • 透視須要寫在被視察元素的父盒子上面
    • 注意下方圖片io

      • d:就是視距,視距就是指人的眼睛到屏幕的距離
      • z:就是 z 軸,z 軸越大(正值),咱們看到的物體就越大

  3. 代碼演示form

    body {
      perspective: 1000px;
    }

4、 translateZ

  1. translateZperspecitve 的區別

    • perspecitve 給父級進行設置,translateZ 給 子元素進行設置不一樣的大小

5、3D 旋轉rotateX

3D 旋轉指可讓元素在三維平面內沿着 x 軸、y 軸、z 軸 或者自定義軸進行旋轉
  1. 語法

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

    div {
      perspective: 300px;
    }
    
    img {
      display: block;
      margin: 100px auto;
      transition: all 1s;
    }
    
    img:hover {
      transform: rotateX(-45deg)
    }
  1. 左手準則

    • 左手的手拇指指向 x 軸的正方向
    • 其他手指的彎曲方向就是該元素沿着 x 軸旋轉的方向

6、3D 旋轉 rotateY

  1. 代碼演示

    div {
     perspective: 500px;
    }
    
    img {
     display: block;
     margin: 100px auto;
     transition: all 1s;
    }
    
    img:hover {
     transform: rotateY(180deg)
    }
  2. 左手準則

    • 左手的拇指指向 y 軸的正方向
    • 其他的手指彎曲方向就是該元素沿着 y 軸旋轉的方向(正值)

7、 3D 旋轉 rotateZ

  1. 代碼演示

    div {
     perspective: 500px;
    }
    
    img {
     display: block;
     margin: 100px auto;
     transition: all 1s;
    }
    
    img:hover {
     transform: rotateZ(180deg)
    }
  2. rotate3d

    • transform: rotate3d(x, y, z, deg) -- 沿着自定義軸旋轉 deg 爲角度
    • x, y, z 表示旋轉軸的矢量,是標識你是否但願沿着該軸進行旋轉,最後一個標識旋轉的角度
    • transform: rotate3d(1, 1, 0, 180deg) -- 沿着對角線旋轉 45deg
    • transform: rotate3d(1, 0, 0, 180deg) -- 沿着 x 軸旋轉 45deg
  3. 代碼演示

    div {
     perspective: 500px;
    }
    
    img {
     display: block;
     margin: 100px auto;
     transition: all 1s;
    }
    
    img:hover {
     transform: rotate3d(1, 1, 0, 180deg)
    }

8、3D 呈現 transform-style

  1. transform-style

    -  控制子元素是否開啓三維立體環境
      - `transform-style: flat`  表明子元素不開啓 `3D` 立體空間,默認的
      - `transform-style: preserve-3d` 子元素開啓立體空間
      -  代碼寫給父級,可是影響的是子盒子
相關文章
相關標籤/搜索