css实现立体骰子

css3 使用animation,transiform实现滚动骰子

css骰子

css 复制代码
    <style>
        .test {
            width: 80px;
            height: 80px;
            position: relative;
            transform-style: preserve-3d;
            animation: move 2s linear 0s infinite alternate;
        }
        .up,
        .down,
        .left,
        .right,
        .forwards,
        .back {
            width: 100%;
            height: 100%;
            display: grid;
            align-content: space-evenly;
            justify-items: center;
            position: absolute;
            font-size: 40px;
            border-radius: 20px;
            border: 2px solid gray;
            background-color: #fff;
        }
        .up {
            transform: rotateX(90deg) translateZ(50px);
        }
        .down {
            transform: rotateX(-90deg) translateZ(50px);
            grid-template-columns: repeat(3, 1fr);
        }
        .left {
            transform: rotateY(90deg) translateZ(50px);
        }
        .right {
            transform: rotateY(-90deg) translateZ(50px);
            grid-template-columns: repeat(2,1fr);
        }
        .forwards {
            transform: translateZ(50px);
        }
        .back {
            transform: translateZ(-50px);
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
            align-items: center;
        }
        .up .item,
        .forwards .item:nth-child(2) {
            background-color: red;
        }
        .back .item:nth-child(3){
            grid-area: 1/2/3/3 ;
            
            background-color: red;
        }
        @keyframes move {
            0% {
                transform: rotateX(-90deg) rotateY(-90deg);
            }
            25% {
                transform: rotateX(0deg) rotateY(0deg);
            }
            50% {
                transform: rotateX(90deg) rotateY(90deg);
            }
            75% {
                transform: rotateX(180deg) rotateY(180deg);
            }
            100% {
                transform: rotateX(360deg) rotateY(360deg);
            }
        }
        .item {
            width: 20px;
            height: 20px;
            background-color: black;
            border-radius: 50%;
        }
    </style>
<body>
    <div class="test">
        <div class="up">
            <span class="item"></span>
        </div>
        <div class="down">
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
        </div>
        <div class="left">
            <span class="item"></span>
            <span class="item"></span>
        </div>
        <div class="right">
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
        </div>
        <div class="forwards">
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
        </div>
        <div class="back">
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
            <span class="item"></span>
        </div>
    </div>
</body>
相关推荐
@解忧杂货铺1 小时前
前端vue如何实现数字框中通过鼠标滚轮上下滚动增减数字
前端·javascript·vue.js
WebDeveloper20013 小时前
如何使用美国域名中心US Domain Center和WordPress创建商业网站
运维·服务器·css·网络·html
真的很上进6 小时前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
噢,我明白了9 小时前
同源策略:为什么XMLHttpRequest不能跨域请求资源?
javascript·跨域
sanguine__10 小时前
APIs-day2
javascript·css·css3
关你西红柿子10 小时前
小程序app封装公用顶部筛选区uv-drop-down
前端·javascript·vue.js·小程序·uv
济南小草根10 小时前
把一个Vue项目的页面打包后再另一个项目中使用
前端·javascript·vue.js
小木_.10 小时前
【python 逆向分析某有道翻译】分析有道翻译公开的密文内容,webpack类型,全程扣代码,最后实现接口调用翻译,仅供学习参考
javascript·python·学习·webpack·分享·逆向分析
LUwantAC11 小时前
CSS(一):选择器
前端·css
Aphasia31111 小时前
一次搞懂 JS 对象转换,从此告别类型错误!
javascript·面试