CSS实现正方体旋转

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS3 星空旋转正方体</title>
    <style type="text/css">
    body{
        background-image:linear-gradient(to top,blue,#000);
    }
    *{
        padding: 0;
        margin:0;
    }
    #Mypage{
        /*-webkit-perspective:600px;
        -webkit-perspective-origin:50% 50%;*/
        -webkit-transform-style:preserve-3d;
        position: relative;
        width: 400px;
        height: 400px;
        margin:100px auto;
    }
    #Mypage li{
        list-style:none;
    }
    .pages{
        position: absolute;
        width:400px;
        height:400px;
    }
    #page1{
        background-color: #FF0088;
        -webkit-transform:translateZ(200px);
    }
    #page2{
        background-color: #FFFF00;
        -webkit-transform:rotateX(90deg) translateZ(200px);
    }
    #page3{
        background-color: #00FF00;
        -webkit-transform:rotateX(270deg) translateZ(200px);
    }
    #page4{
        background-color: #00FFFF;
        -webkit-transform:rotateY(90deg) translateZ(200px);
    }
    #page5{
        background-color: #7700FF;
        -webkit-transform:rotateY(270deg) translateZ(200px);
    }
    #page6{
        background-color: #FF00FF;
        -webkit-transform:translateZ(-200px);
    }
    #closth{
        margin: 0 auto;
        font-size: 18px;
        text-align: center;
        padding-top: 100px;
        float: left;
    }
    #closth div{
        padding-top: 20px;
        margin-bottom: 15px;
    }
    #closth div a{
        color: #fff;
        margin-right: 40px;
    }
    #heard{
        width: 80%;
        margin: 0 auto;
        margin-bottom: 300px;
    }
    #Opage{
        margin-top: 20px;
    }
    .wrap:first-child{
        margin-left: 400px;
    }
    .wrap{
        float: left;
        list-style: none outside none;
        padding-right: 40px;
    }
    .wrap a{
        color: #fff;
    }
    </style>
</head>
<body>
<div id="heard">
    <div id="closth">
        <div><a href="javascript:tops()">上翻</a></div>
        <div><a href="javascript:lefts()">左翻</a><a href="javascript:cleanth()">重置</a><a href="javascript:rights()">右翻</a></div>
        <div><a href="javascript:bottoms()">下翻</a></div>
    </div>
     <ul id="Mypage">
         <li class="pages" id="page1"><img width="400px" height="400px"></li>
         <li class="pages" id="page2"><img width="400px" height="400px"></li>
         <li class="pages" id="page3"><img width="400px" height="400px"></li>
         <li class="pages" id="page4"><img width="400px" height="400px"></li>
         <li class="pages" id="page5"><img width="400px" height="400px"></li>
         <li class="pages" id="page6"><img width="400px" height="400px"></li>
    </ul>
    <ul id="Opage">
        <li class="wrap"><a href="javascript:ones()">1</a></li>
        <li class="wrap"><a href="javascript:twos()">2</a></li>
        <li class="wrap"><a href="javascript:threes()">3</a></li>
        <li class="wrap"><a href="javascript:fours()">4</a></li>
        <li class="wrap"><a href="javascript:fives()">5</a></li>
        <li class="wrap"><a href="javascript:sixs()">6</a></li>
    </ul>
</div>
    <script type="text/javascript">
        var x=0;
        var y=0;
        var n,m=0;
        function cleanth(){
            x=0;
            y=0;
            n=0;
            m=0;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 20ms linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function count(){
            if(x%360==0){
                n=x/360;
            }
            if(y%360==0){
                m=y/360;
            }
        }
        function tops()
        {
            count();
            x+=90;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function bottoms(){
            count();
            x-=90;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";

}
        function lefts(){
            count();
            y+=90;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";

}
        function rights(){
            count();
            y-=90;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";

}
        function ones(){
            count();
            x=0+n*360;
            y=0+m*360;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function twos(){
            count();
            x=-90+n*360;
            y=m*360+0;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function threes(){
            count();
            x=90+n*360;
            y=0+m*360;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function fours(){
            count();
            x=0+n*360;
            y=m*360-90;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function fives(){
            count();
            x=0+n*360;
            y=90+m*360;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
        function sixs(){
            count();
            x=180+n*360;
            y=0+m*360;
             var curpage=document.getElementById(‘Mypage‘);
             curpage.style.transition=‘-webkit-transform 3s linear‘;
             curpage.style.transform="rotateX("+x+"deg) rotateY("+y+"deg)";
        }
    </script>
</body>
</html>

时间: 2024-08-26 21:46:45

CSS实现正方体旋转的相关文章

解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果

解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果 一.前言 最初还是在抖音上看到可以使用简单地代码实现炫酷的网页效果的,但是想要找到可以运行的代码还是比较困难的,最近突然想起就在网上汇总了一些这样的代码. 二.3D效果代码 2.1.旋转相册 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>旋转相

基于animation.css实现动画旋转特效

分享一款基于animation.css实现动画旋转特效.这是一款基于CSS3实现的酷炫的动画旋转特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wrap"> <div class="mod_bg"> <div class="bg1"></div> <div class="bg2"></div> <

css让文字旋转270度

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTEN

css 中图片旋转,倾斜,位移,平滑

在开发中,我们常常需要对图片有一些绚丽的效果,比如是图片旋转,平移,倾斜等.其实这些在css3中都已经存在,整理下作为demo,以后参考使用,也希望供大家交流学习.如果不足,多多指导. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片效果</title> <style type="text/css"> *{

CSS缩放函数, 旋转函数与倾斜函数

   1 :缩放        scale(x,y)函数让元素根据中心原点对对象进行缩放,大于1进行放大,小于1则缩小,如果为负值,则先进行翻转再进行缩放操作. 实例: HTML: <div class="old11"> <h3>原图</h3> <img src="http://images2015.cnblogs.com/blog/561794/201604/561794-20160412230412973-1641353956.j

纯css代码写旋转动画

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css3</title> </head> <style type="text/css"> *{ margin: 0; padding:0; } body{background: #eee;font-family:

详解用CSS绘制3D旋转立方体

CSS3D旋转立方体绝对是能充分代表这些年CSS发展新高度的典型案例.从一种只是简单的颜色和尺寸渲染的标记符,CSS现在已经变成了一种能够创造出复杂的.具有艺术感染力的视觉效果的编程语言.动画效果的生成变得非常的简单易行. 遗憾的是,目前网上的关于CSS立方体的制作教程都有些复杂,在立方体的基础上混合了其它视觉效果,所以,我决定写这篇文章,只涉及如何创造出基本的CSS立方体的讲解.这篇文章中使用的例子来自于CodePen上Mircea Georgescu的漂亮杰作. 观看演示 HTML 这个立方

css transform360度旋转 外边旋转内容不旋转

html: <div class="wrap_"> <ul> <li class="one_"><a href="">360旋转</a></li> </ul></div> css: .wrap_ ul li:hover{ border-style:dashed; -webkit-animation: spinAround 9s linear infin

css特效之旋转音乐播放器

本次需要用到的知识点有: transform setInerval 怎么添加背景音乐我会在下一篇介绍  https://www.cnblogs.com/zouwangblog/p/11097564.html 使用场景:在移动端页面上方添加一个旋转的音乐图标,音乐暂停,停止旋转,音乐播放,继续旋转,这里使用的是vue. 原理:原理很简单,使用setInerval函数来让图片每100ms旋转一次,旋转用css中的transform方法,将旋转角度设置为全局变量,这样在暂停之后继续播放能接着上次的位置