3D
轉換3D
的特色css
三維座標系spa
3D
轉換3D
轉換知識要點3d
3D
位移:translate3d(x, y, z)
3D
旋轉:rotate3d(x, y, z)
perspctive
3D
呈現 transfrom-style
3D
移動 translate3d
code
3D
移動就是在 2D
移動的基礎上多加了一個能夠移動的方向,就是 z 軸方向transform: translateX(100px)
:僅僅是在 x 軸上移動transform: translateY(100px)
:僅僅是在 y 軸上移動transform: translateZ(100px)
:僅僅是在 z 軸上移動transform: translate3d(x, y, z)
:其中x、y、z 分別指要移動的軸的方向的距離語法orm
transform: translate3d(x, y, z)
代碼演示圖片
transform: translate3d(100px, 100px, 100px) /* 注意:x, y, z 對應的值不能省略,不須要填寫用 0 進行填充 */ transform: translate3d(100px, 100px, 0)
perspective
知識點講解ci
3D
效果須要透視(理解成 3D
物體投影的 2D
平面上)知識要點it
注意下方圖片io
代碼演示form
body { perspective: 1000px; }
translateZ
translateZ
與 perspecitve
的區別
perspecitve
給父級進行設置,translateZ
給 子元素進行設置不一樣的大小3D
旋轉rotateX
3D 旋轉指可讓元素在三維平面內沿着 x 軸、y 軸、z 軸 或者自定義軸進行旋轉
語法
transform: rotateX(45deg)
-- 沿着 x 軸正方向旋轉 45 度transform: rotateY(45deg)
-- 沿着 y 軸正方向旋轉 45 度transform: rotateZ(45deg)
-- 沿着 z 軸正方向旋轉 45 度transform: rotate3d(x, y, z, 45deg)
-- 沿着自定義軸旋轉 45 deg 爲角度代碼案例
div { perspective: 300px; } img { display: block; margin: 100px auto; transition: all 1s; } img:hover { transform: rotateX(-45deg) }
左手準則
3D
旋轉 rotateY
代碼演示
div { perspective: 500px; } img { display: block; margin: 100px auto; transition: all 1s; } img:hover { transform: rotateY(180deg) }
左手準則
3D
旋轉 rotateZ
代碼演示
div { perspective: 500px; } img { display: block; margin: 100px auto; transition: all 1s; } img:hover { transform: rotateZ(180deg) }
rotate3d
transform: rotate3d(x, y, z, deg)
-- 沿着自定義軸旋轉 deg 爲角度transform: rotate3d(1, 1, 0, 180deg)
-- 沿着對角線旋轉 45degtransform: rotate3d(1, 0, 0, 180deg)
-- 沿着 x 軸旋轉 45deg代碼演示
div { perspective: 500px; } img { display: block; margin: 100px auto; transition: all 1s; } img:hover { transform: rotate3d(1, 1, 0, 180deg) }
3D
呈現 transform-style
transform-style
- 控制子元素是否開啓三維立體環境 - `transform-style: flat` 表明子元素不開啓 `3D` 立體空間,默認的 - `transform-style: preserve-3d` 子元素開啓立體空間 - 代碼寫給父級,可是影響的是子盒子