老师,你在课上讲空间移动translateX要添加在3D旋转之后吗,为什么这里可以呢

老师,你在课上讲空间移动translateX要添加在3D旋转之后吗,为什么这里可以呢

<!DOCTYPE HTML>

<html>


<head>

    <meta charset="utf-8">

    <title>2-3</title>

    <style type="text/css">

        /* 此处写代码*/

        * {

            margin0;

            padding0;

        }


        .box {

            width300px;

            height200px;

            background-colorred;

            margin-top50px;

            margin-left50px;

        /*因为不是3D旋转rotatex、rotateY、rotateZ所以不用设置perspective属性 */

            /* perspective: 100px; */

        }


        .spc {

            positionrelative;        

            width0px;

            height0;

            border18px solid transparent;

            border-top9px solid yellow;

           

            transformrotate(0deg);

        }


        .spc::after {

            content"";

            positionabsolute;

            top-21px;            

            left-6px;

            width0;

            height0;

            border18px solid transparent;

            border-left10px solid yellow

            transformrotate(16deg);

        }


        .spc::before {

            content"";

            positionabsolute;

            top-21px;            

            left-22px;

            width0;

            height0;

            border18px solid transparent;        

            border-right10px solid yellow;

            transformrotate(342deg);

        }

        .spc:nth-child(1)

        {

            transformscale(1translate(10px,50px);

        }

        .spc:nth-child(2){

            transformscale(0.5rotate(20degtranslateX(80pxtranslateY(-50px);

        }

        .spc:nth-child(3){

            transformscale(0.5rotate(-30degtranslateX(130pxtranslateY(40px);

        }

        .spc:nth-child(4){

            transformscale(0.5translateX(130pxtranslateY(-35px);

        }

        .spc:nth-child(5){

            transformscale(0.5rotate(30degtranslateX(50pxtranslateY(-90px);

        }

    </style>

</head>


<body>

    <!-- 此处写代码 -->

    <div class="box">

        <div class="spc"></div>

        <div class="spc"></div>

        <div class="spc"></div>

        <div class="spc"></div>

        <div class="spc"></div>

    </div>

</body>


</html>


正在回答

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

1回答

同学你好,并不是说只能在3D旋转之后才可以使用空间移动,视频中老师讲解的,是因为要实现正方体的不同面,而3D旋转后会改变坐标轴方向,所以为了更好理解与计算,所以老师推荐同学先旋转,然后再平移。实际开发中,先移动还是还旋转都是可以的,根据实际要实现的效果灵活应用所学知识就可以了。

代码中存在的问题解答如下:

1、整体水平居中,效果会更好,建议:添加margin: 50px auto;属性实现水平居中。

http://img1.sycdn.imooc.com//climg/6044a8f809c4d2de09530291.jpg

2、样式相同的代码可以使用组合选择器书写在一起,简化代码书写,示例:

http://img1.sycdn.imooc.com//climg/6044a975091ed62d06150703.jpg

​祝学习愉快~

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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