超级酷的正方体

-------------------------代码部分-------------------------

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <style>
        body{
            background: black;
        }
        ul{
            list-style: none;
            width: 200px;
            height: 200px;
            margin: 100px auto;
            position: relative;
            -webkit-transform-style: preserve-3d;/*兼容谷歌浏览器和safari浏览器*/
        }
        li{
            width: 200px;
            height: 200px;
            position: absolute;
            text-align: center;
            line-height: 200px;
            font-size: 80px;
            font-weight: bold;
            color: white;
        }
        li:nth-child(1){/*第1个li:上面*/
            background: rgba(128,128,128,0.98);
            -webkit-transform: rotateX(90deg) translateZ(100px);
        }
        li:nth-child(2){/*第2个li:下面*/
            background: rgba(0,0,255,0.98);
            -webkit-transform: rotateX(360deg) translateZ(-100px);
        }
        li:nth-child(3){/*第3个li:右面*/
            background: rgba(255,0,255,0.98);
            -webkit-transform: rotateY(-90deg) translateZ(100px);
        }
        li:nth-child(4){/*第4个li:左面*/
            background: rgba(0,255,255,0.98);
            -webkit-transform: rotateY(90deg) translateZ(100px);
        }
        li:nth-child(5){/*第5个li:后面*/
            background: rgba(255,0,0,0.98);
            -webkit-transform: rotateX(360deg) translateZ(100px);
        }
        li:nth-child(6){/*第6个li:正面*/
            background: rgba(0,139,139,0.98);
            -webkit-transform: rotateX(270deg) translateZ(100px);
        }
        /**/
        ul{
            -webkit-animation: myanima 5s linear infinite;
        }
        @-webkit-keyframes myanima{
            0%{
                -webkit-transform: rotateX(0deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateX(360deg) rotateY(360deg);
            }
        }
        #bottom{
            position: absolute;
            width: 200px;
            height: 200px;
            bottom: 20px;
            margin: 0 auto;
            display: block;
            left: 48%;
        }
        #bottom input{
            display: block;
            position: absolute;
        }
        #bottom input:nth-child(1){
            left: 100px;
        }
        #bottom input:nth-child(2){
            left: -100px;
        }
        #bottom input:nth-child(3){
            top: -100px;
        }
        #bottom input:nth-child(4){
            top: 100px;
        }


    </style>
    <style type="text/css" id="changes">
        /*存放修改*/
    </style>
    <script type="text/javascript">
        function change(num1,num2,num3,num4){
        var stylec=document.getElementById("changes");
            

            //执行
        stylec.innerHTML="@-webkit-keyframes myanima{0%{-webkit-transform: rotateX("+num1+"deg) rotateY("+num2+"deg);}100%{-webkit-transform: rotateX("+num3+"deg) rotateY("+num4+"deg);}}";
        }
    </script>
    <body>
        <ul id="ul">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>
        <div id="bottom">
            <input type="button"  value="→" onclick="change(0,0,0,360)"/>
            <input type="button"  value="←" onclick="change(0,360,0,0)"/>
            <input type="button"  value="↑" onclick="change(0,0,360,0)"/>
            <input type="button"  value="↓" onclick="change(360,0,0,0)"/>
            <input type="button"  value="重设" onclick="change(0,0,360,360)"/>
        </div>
    </body>
</html>

 

转载于:https://www.cnblogs.com/loce/p/5123471.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好的主意!以下是一个使用正方体旋转特效的炫动画示例: 1. 创建一个正方体 首先,我们需要创建一个简单的正方体。使用3D软件(如Blender或Maya)或代码(如CSS或JavaScript)创建一个3D正方体。 2. 定义旋转动画 接下来,我们需要定义正方体的旋转动画。我们可以使用CSS或JavaScript来实现这一点。以下是一个使用CSS的示例: ``` @keyframes rotate { 0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); } 100% { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); } } .cube { animation: rotate 5s linear infinite; } ``` 这个CSS代码块将创建一个名为"rotate"的动画,将正方体在X、Y和Z轴上旋转360度。我们将动画设置为线性,持续5秒,并使其无限循环。 3. 添加材质和光源 为了使正方体看起来更加逼真,我们需要添加材质和光源。这可以通过3D软件或代码实现。我们可以为正方体添加一个简单的白色材质,并在场景中添加一个点光源。 4. 渲染动画 现在,我们已经准备好渲染动画了!我们可以使用3D软件将场景渲染成视频或GIF,或者使用CSS和JavaScript在网页上渲染动画。 这是一个使用CSS和JavaScript的示例: HTML: ``` <div class="scene"> <div class="cube"></div> </div> ``` CSS: ``` .scene { width: 400px; height: 400px; perspective: 1000px; } .cube { width: 200px; height: 200px; background-color: white; position: relative; transform-style: preserve-3d; animation: rotate 5s linear infinite; } @keyframes rotate { 0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg); } 100% { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); } } ``` JavaScript: ``` const cube = document.querySelector('.cube'); let mouseX = 0; let mouseY = 0; document.addEventListener('mousemove', e => { mouseX = (e.clientX - window.innerWidth / 2) / 8; mouseY = (e.clientY - window.innerHeight / 2) / 8; }); function render() { cube.style.transform = `rotateX(${mouseY}deg) rotateY(${mouseX}deg)`; requestAnimationFrame(render); } render(); ``` 这个示例将创建一个带有3D透视效果的场景,并在其中放置一个旋转的正方体。我们还添加了一些JavaScript代码,使正方体随着鼠标的移动而旋转,从而增加了交互性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值