zoukankan      html  css  js  c++  java
  • 360度立体抽奖盒,定制属于你的规则!

    使用JS和CSS3实现360度立体抽奖盒

    效果图:

     下面为大家附上代码哟,定制属于你们的抽奖盒:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            html,body,ul {margin: 0;padding: 0;}
            body {perspective: 1200px;overflow: hidden;}
            ul {
                position: relative;
                width: 200px;
                height: 200px;
                margin: 100px auto;
                -webkit-transition: preserve-3d;
                -moz-transition: preserve-3d;
                -ms-transition: preserve-3d;
                transition: 5s ease-out;
                -webkit-transform-style: preserve-3d;
                -moz-transform-style: preserve-3d;
                -ms-transform-style: preserve-3d;
                transform-style: preserve-3d;
                cursor: pointer;
            }
            ul li {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                list-style: none;
                color: #fff;
                font-size: 24px;
                text-align: center;
                line-height: 200px;
                border-radius: 10%;
            }
    
            li:nth-child(1) {
                background: rgba(145, 41, 55, 0.9);
                -webkit-transform: translateZ(100px);
                -moz-transform: translateZ(100px);
                -ms-transform: translateZ(100px);
                -o-transform: translateZ(100px);
                transform: translateZ(100px);
            }
    
            li:nth-child(2) {
                background: rgba(54, 49, 46, 0.9);
                -webkit-transform: rotateY(90deg) translateZ(100px);
                -moz-transform: rotateY(90deg) translateZ(100px);
                -ms-transform: rotateY(90deg) translateZ(100px);
                -o-transform: rotateY(90deg) translateZ(100px);
                transform: rotateY(90deg) translateZ(100px);
            }
    
            li:nth-child(3) {
                background: rgba(149, 121, 123, 0.9);
                -webkit-transform: translateZ(-100px);
                -moz-transform: translateZ(-100px);
                -ms-transform: translateZ(-100px);
                -o-transform: translateZ(-100px);
                transform: translateZ(-100px);
            }
    
            li:nth-child(4) {
                background: rgba(102, 99, 79, 0.9);
                -webkit-transform: rotateY(-90deg) translateZ(100px);
                -moz-transform: rotateY(-90deg) translateZ(100px);
                -ms-transform: rotateY(-90deg) translateZ(100px);
                -o-transform: rotateY(-90deg) translateZ(100px);
                transform: rotateY(-90deg) translateZ(100px);
                
            }
    
            li:nth-child(5) {
                background: rgba(197, 113, 84, 0.9);
                -webkit-transform: rotateX(90deg) translateZ(100px);
                -moz-transform: rotateX(90deg) translateZ(100px);
                -ms-transform: rotateX(90deg) translateZ(100px);
                -o-transform: rotateX(90deg) translateZ(100px);
                transform: rotateX(90deg) translateZ(100px);
            }
    
            li:nth-child(6) {
                background: rgba(219, 184, 143, 0.9);
                -webkit-transform: rotateX(-90deg) translateZ(100px);
                -moz-transform: rotateX(-90deg) translateZ(100px);
                -ms-transform: rotateX(-90deg) translateZ(100px);
                -o-transform: rotateX(-90deg) translateZ(100px);
                transform: rotateX(-90deg) translateZ(100px);
            }
        </style>
    </head>
    <body>
        <ul id="box">
            <li>苹果X</li>
            <li>OPPO R11s</li>
            <li>小米7</li>
            <li>谢谢参与</li>
            <li>VIVO X9</li>
            <li>苹果8</li>
        </ul>
        <script>
            window.onload = function(){
                wrap.style.cssText = "transform: rotateX(360deg) rotateY(360deg);transition: 1s ease-out;"
            }
    
            var wrap = document.getElementById('box');
            var degArr = [-360,-270,-180,-90,0,90,180,270,360]; //各个面对应角度
            
            wrap.onclick = function(){
                var round = 4 + Math.floor(Math.random()*9);    //旋转圈数
                var randX = Math.floor(Math.random()*9);  //随机X
                var randY = Math.floor(Math.random()*9);   //随机Y
                var degX = round*360+degArr[randX];
                var degY = round*360+degArr[randY];
                wrap.style.cssText = "transform: rotateX("+degX+"deg) rotateY("+degY+"deg)";
            }
    
        </script>
    </body>
    </html>

     如有错误,请联系指正,非常感谢!!!

  • 相关阅读:
    protocol buffer
    一个数组中只有0,1,2三种元素,要求对这样的数组进行排序
    初见-TensorRT简介<转>
    如何制作python安装模块(setup.py)
    Reservoir Sampling
    Tensorflow 之 name/variable_scope 变量管理
    Tensorflow之调试(Debug) && tf.py_func()
    python with和上下文管理工具
    hello--GAN
    metronic后台模板学习 -- 所用外部插件列表
  • 原文地址:https://www.cnblogs.com/yidaixiaohui/p/8446810.html
Copyright © 2011-2022 走看看