老师这个translateZ根据什么设置多少合适

老师这个translateZ根据什么设置多少合适

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=, initial-scale=1.0">

    <title>Document</title>

    <style>

        * {

            margin0;

            padding0;

        }

        .box {

            width200px;

            height200px;

            perspective400px;

            positionrelative;

            margin100px auto;

        }

        .box p {

            width200px;

            height200px;

            positionabsolute;

            top0;

            left0;

        }

        .box p:nth-child(1) {

            background-color#00ff00de;

            /* 前面 */

            transformtranslateZ(100px);

        }

        .box p:nth-child(2) {

            background-colorrgba(255,255,0,.4);

            /* 顶面 */

            transformrotateX(90degtranslateZ(100px);

        }

        .box p:nth-child(3) {

            background-color#dd12e4de;

            /* 后面 */

            transformrotateX(180degtranslateZ(100px);

        }

        .box p:nth-child(4) {

            background-colorhsla(35288%53%0.871);

            /* 底面 */

            transformrotateX(-90degtranslateZ(100px);

        }

        .box p:nth-child(5) {

            background-colorhsla(194100%50%0.871);

            /* 侧面 */

            transformrotateY(90degtranslateZ(100px);

        }

        .box p:nth-child(6) {

            background-colorrgba(11102550.871);

            transformrotateY(-90degtranslateZ(100px);

        }

    </style>

</head>

<body>

    <div class="box">

        <p></p>

        <p></p>

        <p></p>

        <p></p>

        <p></p>

        <p></p>

    </div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2021-07-16 14:25:32

同学你好,translateZ(100px)不可以说是200px,是沿着z轴正方向移动100px。

可以这样理解,初始所有元素都在同一个位置,移动后每一面都离正方体中心100px,那么长宽高就分别是200px

http://img1.sycdn.imooc.com//climg/60f1264c090a54b204870372.jpg

祝学习愉快!

好帮手慕星星 2021-07-16 11:23:57

同学你好,需要根据实现的效果以及元素大小来设置。

例如当前代码中:

box和p元素宽高为200px,,想实现一个200*200*200的立方体,那就需要逐一去移动各个面。第一个p元素沿着z轴正方向移动100px,也就是我们能看到的这个面。第二个p元素先沿着x轴旋转90度,然后再沿着z轴正方向移动100px,也就是正方体顶部的那个面。后面以此类推,按照最终实现的效果,每个面去旋转移动即可。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师