纯css写一个3d的旋转着的骰子

用单纯的css实现旋转

html代码:

<body>
    <div id="wrapper">
        <div id="group">
            <div class="page" id="page1"><span></span></div>
            <div class="page" id="page2"><span></span><span></span></div>
            <div class="page" id="page3"><span></span><span></span><span></span></div>
            <div class="page" id="page4"><span></span><span></span><span></span><span></span></div>
            <div class="page" id="page5"><span></span><span></span><span></span><span></span><span></span></div>
            <div class="page" id="page6"><span></span><span></span><span></span><span></span><span></span><span></span>
            </div>
        </div>
    </div>
</body>

css代码:

  body{
            background-color: black;
             /* perspective: 500px; */
        }
        #wrapper {
            perspective: 500px;
        }

        #group {
            width: 200px;
            height: 200px;
            position: relative;
            transform-style: preserve-3d;
            transform-origin: 50% 50% -100px;
            margin: 100px auto;
            /*  时间3s 匀速  无限循环  */
            animation: rotate 3s linear infinite;
            background-color: whitesmoke;
            border-radius: 20px;
        }

        .page {
            width: 200px;
            height: 200px;
            position: absolute;
            border-radius: 20px;
            text-align: center;
            overflow: hidden;
            background-color: whitesmoke;
        }

        

        #page2 {
            transform-origin: right;
            transform: rotateY(-90deg);
        }

        #page3 {
            transform-origin: left;
            transform: rotateY(90deg);
        }

        #page4 {
            transform-origin: top;
            transform: rotateX(-90deg);
        }

        #page5 {
            transform-origin: bottom;
            transform: rotateX(90deg);
        }

        #page6 {
            transform: translateZ(-200px);
        }

        .page span {
            display: inline-block;
            width: 50px;
            height: 50px;
            border-radius: 25px;
            background-color: black;
            box-shadow: inset 3px 3px 5px black;
        }

        #page1 span {
            position: absolute;
            left: 50%;
            top: 50%;
            margin-top: -25px;
            margin-left: -25px;
            background-color: red;
        }

        #page2 span {
            margin: 75px 25px;
        }

        #page3 span {
            position: absolute;
        }

        #page3 span:first-child {
            top: 20px;
            left: 20px;
        }

        #page3 span:nth-child(2) {
            top: 75px;
            left: 75px;
        }

        #page3 span:last-child {
            bottom: 20px;
            right: 20px;
        }

        #page4 span {
            margin: 25px 25px;
        }

        #page5 span {
            margin: 25px 25px;
        }

        #page5 span:last-child {
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -25px;
            margin-top: -25px;
        }

        #page6 span {
            margin: 7px 25px;
        }

        @keyframes rotate {
            0% {
                transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg);
            }

            25% {
                transform: rotateY(0deg) rotateX(90deg) rotateZ(90deg);
            }

            50% {
                transform: rotateY(0deg) rotateX(180deg) rotateZ(180deg);
            }

            75% {
                transform: rotateY(180deg) rotateX(270deg) rotateZ(270deg);
            }

            100% {
                transform: rotateY(360deg) rotateX(360deg) rotateZ(360deg);
            }
        }

页面效果图

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值