【前端学习】前端学习第八天:transform变形平移使用方法及立方体3D动画效果完整版

通过使用transform对元素进行变形等相关操作,可以使元素的效果更加生动,下面就来介绍一下transform具体的一些属性。

1、平移 translate

translateX():沿着x轴方向平移;

translateY():沿着y轴方向平移;

translateZ():沿着z轴方向平移。

其中,有两个特殊值:

translateX(-50%):水平居中;

translateY(-50%):垂直居中;

二、旋转 rotate

rotateX():沿着x轴方向旋转;

rotateY():沿着y轴方向旋转;

rotateZ():沿着z轴方向旋转;

当然也可以直接使用rotate()指定角度将元素进行旋转,值为正数表示顺时针旋转,值为负数表示逆时针方向旋转。

三、缩放 scale

scaleX():水平方向缩放;

scaleY():垂直方向缩放。

也可以为其直接设置两个值,实现水平方向和垂直方向同时缩放;

立方体动画效果代码展示:

<body>

    <div class="cube">

        <div class="b1">

            <img src="/images/06.jpg" alt="">

        </div>

        <div class="b2">

            <img src="/images/07.jpg" alt="">

        </div>

        <div class="b3">

            <img src="/images/08.jpg" alt="">

        </div>

        <div class="b4">

            <img src="/images/09.jpg" alt="">

        </div>

        <div class="b5">

            <img src="/images/10.jpg" alt="">

        </div>

        <div class="b6">

            <img src="/images/11.jpg" alt="">

        </div>

    </div>

</body>

<style>

        html{

            perspective: 800px;

        }

        .cube{

            width: 200px;

            height: 200px;

            transform-style: preserve-3d;

            transform: rotateX(30deg) rotateZ(30deg);

            margin: 0 auto;

            margin-top: 200px;

        }

        .cube:hover{

            animation: rotate 10s linear;

        }

        .cube>div{

            position: absolute;

        }

        img{

            width: 200px;

            height: 200px;

            vertical-align: top;

           

        }

        .b1{

            transform: rotateY(90deg) translateZ(100px);

        }

        .b2{

            transform: rotateY(-90deg) translateZ(100px);

        }

        .b3{

            transform: rotateX(90deg) translateZ(100px);

        }

        .b4{

            transform: rotateX(-90deg) translateZ(100px);

        }

        .b5{

            transform: rotateY(180deg) translateZ(100px);

        }

        .b6{

            transform: rotateY(0deg) translateZ(100px);

        }

        @keyframes rotate{

            from{

               transform: rotateX(0) rotateZ(0);

            }

            to{

                transform: rotateX(360deg) rotateZ(360deg);

            }

        }

    </style>

效果展示:

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值