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

来源:2-12 空间移动

weixin_精慕门9462467

2021-07-16 10:57:01

<!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>


写回答

2回答

好帮手慕星星

2021-07-16

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

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

http://img.mukewang.com/climg/60f1264c090a54b204870372.jpg

祝学习愉快!

0

好帮手慕星星

2021-07-16

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

例如当前代码中:

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

祝学习愉快!

0
heixin_精慕门9462467
hp>translateZ(100px)可以说是200px吗


h021-07-16
共1条回复

0 学习 · 15276 问题

查看课程