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` 子元素开启立体空间 - 代码写给父级,可是影响的是子盒子