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>
相关推荐
西梯卧客11 分钟前
[4-3] 异步编程与事件循环 · 终极异步解决方案 (Generator & Async/Await)
javascript
不甜情歌14 分钟前
JS 拷贝:浅拷贝 / 深拷贝原理 + 常用方法
前端·javascript
Roselind_Yi16 分钟前
技术拆解:《从音频到动效:我是如何用 Web Audio API 拆解音乐的?》
前端·javascript·人工智能·音视频·语音识别·实时音视频·audiolm
我叫黑大帅16 分钟前
Js常用数组处理
前端·javascript·面试
我叫黑大帅18 分钟前
Js常用的字符串处理
前端·javascript·面试
读忆29 分钟前
在前端开发中使用组件后, 若是出了bug, 应该如何排查, 怎么排查, 解决方式是什么?
前端·javascript·vue.js·bug
Aevget31 分钟前
界面控件DevExpress JS & ASP.NET Core v25.2新版亮点 - AI驱动扩展功能升级
javascript·asp.net·界面控件·devexpress·ui开发
SuperEugene40 分钟前
Vue3 + Vue Router + Pinia 路由守卫规范:beforeEach 应做 / 不应做,避死循环、防重复请求|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·前端框架
Greg_Zhong41 分钟前
Css知识之伪类和伪元素
前端·css
东东__net1 小时前
js逆向与谷歌加密库
开发语言·前端·javascript