3D转换1111

1.三维坐标系

1.3D位移: translate3d(x,y,z)


translform:translateX(100px):仅仅是在x轴上移动

translform:translateY(100px):仅仅是在Y轴上移动

translform:translateZ(100px):仅仅是在Z轴上移动(注意:translateZ一般用px单位)

transform:translate3d(x,y,z):其中 x、y、z 分别指要移动的轴的方向的距离
因为z轴是垂直屏幕,由里指向外面,所以默认是看不到元素在z轴的方向上移动

2.3D旋转: rotate3d(x,y,z)

transform:rotate3d(x,y,z,deg): 沿着自定义轴旋转 deg为角度(了解即可)
xyz 是表示旋转轴的矢量,是标示你是否希望沿着该轴旋转,最后一个标示旋转的角度。

transform:rotate3d(1,0,0,45deg) 就是沿着x轴旋转 45deg

transform:rotate3d(1,1,0,45deg) 就是沿着对角线旋转 45deg

3.透视: perspective

4.3D呈现 transfrom-style

3D呈现 transfrom-style

控制子元素是否开启三维立体环境。。

transform-style: flat 子元素不开启3d立体空间 默认的

transform-style: preserve-3d; 子元素开启立体空间

代码写给父级,但是影响的是子盒子

这个属性很重要,后面必用

案例:3D导航栏(盒子翻转)

css 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        ul {
            margin: 100px;
        }
        ul li{
            float: left;
            margin: 0 5px;
            list-style: none;
            width: 120px;
            height: 35px;
             perspective: 500px;
        }
        .box {
            position: relative;
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
            transition: all .4s;
        }
        .box:hover{
            transform: rotateX(90deg);
        }
        .front,
        .bottom {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
        }
        .front {
            background-color: pink;
            z-index: 1;
            transform: translateZ(17.5px);
        }
        .bottom {
            background-color: purple;
            /* 先移动后旋转 */
            transform: translateY(17.5px) rotateX(-90deg);
        }

    </style>
</head>
<body>
    <ul>
        <li>
            <div class="box">
                <div class="front">前途似海</div>
                <div class="bottom">来日方长</div>
            </div>
        </li>
        <li>
            <div class="box">
                <div class="front">前途似海</div>
                <div class="bottom">来日方长</div>
            </div>
        </li>
        <li>
            <div class="box">
                <div class="front">前途似海</div>
                <div class="bottom">来日方长</div>
            </div>
        </li>
        <li>
            <div class="box">
                <div class="front">前途似海</div>
                <div class="bottom">来日方长</div>
            </div>
        </li>
        <li>
            <div class="box">
                <div class="front">前途似海</div>
                <div class="bottom">来日方长</div>
            </div>
        </li>
    </ul>
</body>
</html>

5.浏览器私有前缀

浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无须添加。

相关推荐
Avicli13 小时前
Gemini3 生成的基于手势控制3D粒子圣诞树
前端·javascript·3d
二狗哈13 小时前
Cesium快速入门15:图元Primitive创建图像物体
开发语言·javascript·3d·webgl·cesium·地图可视化
zl_vslam14 小时前
SLAM中的非线性优-3D图优化之相对位姿Between Factor右扰动(八)
人工智能·算法·计算机视觉·3d
小白狮ww16 小时前
挥手点亮圣诞:AI 3D 魔法树教程
人工智能·深度学习·机器学习·3d·音视频·图片处理·动作识别
姓林君18 小时前
ZW3D二次开发_获取造型的投影面积及最大长宽
3d
GIS遥遥18 小时前
2025cesium进阶教程(6)| webgis智慧城市开发,3DTiles 卷帘对比效果(附完整源码)
microsoft·3d·智慧城市·cesium·gis开发·webgis开发
NueXini18 小时前
Unity 3D MMO RPG手游征服2GB设备之历程
3d·unity·性能优化·游戏引擎·优化·rpg·mmo
元境1 天前
“3D数字内容创新发展高峰论坛”在京成功举办,多项重要合作与课题启动
3d
song5011 天前
鸿蒙 Flutter 图像识别进阶:物体分类与花卉识别(含离线模型)
人工智能·分布式·python·flutter·3d·华为·分类
中维ZWPD2 天前
工程行业数智化转型:挑战与破局之路
大数据·人工智能·科技·物联网·3d