【Html】21 - transform-3D

transform-style

  • 控制子元素是否处于3D立体环境

    • flat(默认值)2D模式
    • preserve-3d开启3D立体环境
    • 样式写在父级元素。

先来个大盒子包裹6个小盒子(做为正方体的6个面)

<!--样式写在父级元素。-->
<div class="box">
    <!--前面-->
    <div class="face front"></div>
   	<!--后面-->
    <div class="face back"></div>
    <!--左面-->
    <div class="face left"></div>
    <!--右面-->
    <div class="face right"></div>
    <!--上面-->
    <div class="face top"></div>
    <!--下面-->
    <div class="face bottom"></div>
</div>

给每一面加上样式

在这里插入图片描述

		.face {
            position: absolute;
            width: 200px;
            height: 200px;

            text-align: center;
            line-height: 200px;
            font-weight: 700;

            box-shadow: 0 0 5px #fff inset;
        }
		/*前面*/
        .front {
            transform: translateZ(100px);
        }
		/*后面*/
        .back {
            transform: rotateY(180deg) translateZ(100px);
        }
		/*左面*/
        .left {
            transform: rotateY(-90deg) translateZ(100px);
        }
		/*右面*/
        .right {
            transform: rotateY(90deg) translateZ(100px);
        }
		/*上面*/
        .top {
            transform: rotateX(90deg) translateZ(100px);
        }
		/*底面*/
        .bottom {
            transform: rotateX(-90deg) translateZ(100px);
        }

在这里插入图片描述

给父级盒子加上transform-style: preserve-3d;

.box {
            position: relative;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 200px;
            height: 200px;
			/*让box的子元素处于3D立体环境*/
            transform-style: preserve-3d;
    		/*让盒子旋转起来*/
            transition: all 2s;
            animation: box-rotate 5s linear infinite;
        }

在这里插入图片描述

perspective

  • 3D元素距离视口的距离
  • 样式加在父级样式中

此时我们给body元素加上

body {
            background-color: #292A2B;
    		/*让3D元素有近大圆小的样子*/
            perspective: 800px;
        }

在这里插入图片描述


有兴趣可以尝试下

在这里插入图片描述


END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值