纯css3实现旋转3D立方体骰子

纯css3实现旋转3D立方体骰子(自旋转型)

主要运用css3的transform,rotate,translate,animation等动画
以perspectiveperspective-origintransform-style等属性为辅助

具体实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>旋转立方体</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        body{
            background: #000;
            perspective: 1000px ;
            /*视角定位一定要基于外面较大的容器去定位*/
            perspective-origin: center center;
        }
        .container{
            width: 200px;
            height: 200px;
            border: 1px dashed #ffffff;
            margin: 200px auto;
            position: relative;
            transform-style: preserve-3d ;
            animation: run 3s linear infinite;
            /*ease间歇转动;linear持续转动*/
        }
        @keyframes run{
            from{
                transform: rotateY(0deg);
            }
            to{
                transform: rotateY(360deg);
            }
        }
        .container div{
            width: 200px;
            height: 200px;
            background: rgba(255,255,255,0.3) ;
            border-radius: 10px;
            position: absolute;
            color: white;
            font-weight: bolder;
            text-align: center ;
            line-height: 200px;
        }
        .front{
            transform: translateZ(100px);
            /*translateZ是宽高的一半*/
        }
        .back{
            transform: translateZ(-100px);
        }
        .left{
            /*transform: translateX(-100px ) rotateX(90deg);*/
            transform:rotateX(90deg) translateZ(-100px);
        }
        /*位置一定都是基于Z轴调*/
        .right{
            /*transform: translateX(100px ) rotateX(90deg);*/
            transform:rotateX(90deg) translateZ(100px);
        }
        .top{
            /*transform: translateY(100px) rotateY(90deg);*/
            transform:rotateY(90deg) translateZ(100px);
        }
        .bottom{
            /*transform: translateY(100px) rotateY(90deg);*/
            transform:rotateY(90deg) translateZ(-100px);
        }

    </style>
</head>
<body>
    <div class="container">
        <div class="front">1</div>
        <div class="back">2</div>
        <div class="left">3</div>
        <div class="right">4</div>
        <div class="top">5</div>
        <div class="bottom">6</div>
    </div>
</body>
</html>

欢迎小伙伴们批评指正~
一起进步!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,293评论 0 8
  • 1 CSS属性 1.1 滤镜 1.1.1 blur属性 1.1.1.1 代码示例 CSS代码: .blur { ...
    Kevin_Junbaozi阅读 4,055评论 1 4
  • 今天端午节,去看望姑妈时,遇到了很滑稽的事!她油炸的糖糕,女儿吃了又吐出了,顺手把余下的递给我说:姥姥家的糖糕不好...
    c8092ba96944阅读 1,007评论 0 0
  • 第一章 程序整体语法结构 第二章 数据类型 第三章 字符串 第四章 内存管理 第五章 对象的初始化 第六章 存取...
    一个人的思考阅读 3,443评论 0 2
  • 杖7,代表独立奋斗的人。勇敢面对挑战,正视阻碍和反对者,否则有损失。职业有很大变得的可能。曾经的挫折,让ta变得优...
    赶海的小鹿Sheryl阅读 2,649评论 0 0