zoukankan      html  css  js  c++  java
  • CSS3实现3D球体旋转动画

    html

    <div class="ball-box">
        <div class="ball">
            <div class="line1"></div>
            <div class="line2"></div>
            <div class="line3"></div>
            <div class="line4"></div>
            <div class="line5"></div>
        </div>
    </div>
    

     css

    <style type="text/css">
        body{
            background-color: #000000;
        }
        .ball-box{
             300px;
            height: 300px;
            position: absolute;
            left: 50%;
            top: 50%;
            margin: -150px 0 0 -150px;
            -webkit-perspective-origin: 50% 50%;
            -moz-perspective-origin: 50% 50%;
            -ms-perspective-origin: 50% 50%;
            -o-perspective-origin: 50% 50%;
            perspective-origin: 50% 50%;
            -webkit-perspective: 3000px;
            -moz-perspective: 3000px;
            -ms-perspective: 3000px;
            -o-perspective: 3000px;
            perspective: 3000px;
        }
        @-webkit-keyframes rotate3d {
            0%{
                -webkit-transform: rotateZ(-30deg) rotateY(0deg);
                -moz-transform: rotateZ(-30deg) rotateY(0deg);
                -ms-transform: rotateZ(-30deg) rotateY(0deg);
                -o-transform: rotateZ(-30deg) rotateY(0deg);
                transform: rotateZ(-30deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateZ(-30deg) rotateY(360deg);
                -moz-transform: rotateZ(-30deg) rotateY(360deg);
                -ms-transform: rotateZ(-30deg) rotateY(360deg);
                -o-transform: rotateZ(-30deg) rotateY(360deg);
                transform: rotateZ(-30deg) rotateY(360deg);
            }
        }
        @-moz-keyframes rotate3d {
            0%{
                -webkit-transform: rotateZ(-30deg) rotateY(0deg);
                -moz-transform: rotateZ(-30deg) rotateY(0deg);
                -ms-transform: rotateZ(-30deg) rotateY(0deg);
                -o-transform: rotateZ(-30deg) rotateY(0deg);
                transform: rotateZ(-30deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateZ(-30deg) rotateY(360deg);
                -moz-transform: rotateZ(-30deg) rotateY(360deg);
                -ms-transform: rotateZ(-30deg) rotateY(360deg);
                -o-transform: rotateZ(-30deg) rotateY(360deg);
                transform: rotateZ(-30deg) rotateY(360deg);
            }
        }
        @-ms-keyframes rotate3d {
            0%{
                -webkit-transform: rotateZ(-30deg) rotateY(0deg);
                -moz-transform: rotateZ(-30deg) rotateY(0deg);
                -ms-transform: rotateZ(-30deg) rotateY(0deg);
                -o-transform: rotateZ(-30deg) rotateY(0deg);
                transform: rotateZ(-30deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateZ(-30deg) rotateY(360deg);
                -moz-transform: rotateZ(-30deg) rotateY(360deg);
                -ms-transform: rotateZ(-30deg) rotateY(360deg);
                -o-transform: rotateZ(-30deg) rotateY(360deg);
                transform: rotateZ(-30deg) rotateY(360deg);
            }
        }
        @-o-keyframes rotate3d {
            0%{
                -webkit-transform: rotateZ(-30deg) rotateY(0deg);
                -moz-transform: rotateZ(-30deg) rotateY(0deg);
                -ms-transform: rotateZ(-30deg) rotateY(0deg);
                -o-transform: rotateZ(-30deg) rotateY(0deg);
                transform: rotateZ(-30deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateZ(-30deg) rotateY(360deg);
                -moz-transform: rotateZ(-30deg) rotateY(360deg);
                -ms-transform: rotateZ(-30deg) rotateY(360deg);
                -o-transform: rotateZ(-30deg) rotateY(360deg);
                transform: rotateZ(-30deg) rotateY(360deg);
            }
        }
        @keyframes rotate3d {
            0%{
                -webkit-transform: rotateZ(-30deg) rotateY(0deg);
                -moz-transform: rotateZ(-30deg) rotateY(0deg);
                -ms-transform: rotateZ(-30deg) rotateY(0deg);
                -o-transform: rotateZ(-30deg) rotateY(0deg);
                transform: rotateZ(-30deg) rotateY(0deg);
            }
            100%{
                -webkit-transform: rotateZ(-30deg) rotateY(360deg);
                -moz-transform: rotateZ(-30deg) rotateY(360deg);
                -ms-transform: rotateZ(-30deg) rotateY(360deg);
                -o-transform: rotateZ(-30deg) rotateY(360deg);
                transform: rotateZ(-30deg) rotateY(360deg);
            }
        }
        .ball{
            height: 100%;
            -webkit-transform-style: preserve-3d;
            -moz-transform-style: preserve-3d;
            -ms-transform-style: preserve-3d;
            transform-style: preserve-3d;
            -webkit-animation: rotate3d 30s linear infinite;
            -moz-animation: rotate3d 30s linear infinite;
            -ms-animation: rotate3d 30s linear infinite;
            -o-animation: rotate3d 30s linear infinite;
            animation: rotate3d 30s linear infinite;
        }
        .ball:after{
            display: block;
            content: '';
             1px;
            height: 500px;
            background-color: #ff0;
            position: absolute;
            top: -100px;
            left: 150px;
        }
        .ball > div{
            border: 1px #ffffff solid;
            position: absolute;
             100%;
            height: 100%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            border-radius: 50%;
        }
        .ball .line1{
            -webkit-transform: rotateY(0deg);
            -moz-transform: rotateY(0deg);
            -ms-transform: rotateY(0deg);
            -o-transform: rotateY(0deg);
            transform: rotateY(0deg);
        }
        .ball .line2{
            -webkit-transform: rotateY(36deg);
            -moz-transform: rotateY(36deg);
            -ms-transform: rotateY(36deg);
            -o-transform: rotateY(36deg);
            transform: rotateY(36deg);
        }
        .ball .line3{
            -webkit-transform: rotateY(72deg);
            -moz-transform: rotateY(72deg);
            -ms-transform: rotateY(72deg);
            -o-transform: rotateY(72deg);
            transform: rotateY(72deg);
        }
        .ball .line4{
            -webkit-transform: rotateY(108deg);
            -moz-transform: rotateY(108deg);
            -ms-transform: rotateY(108deg);
            -o-transform: rotateY(108deg);
            transform: rotateY(108deg);
        }
        .ball .line1{
            -webkit-transform: rotateY(144deg);
            -moz-transform: rotateY(144deg);
            -ms-transform: rotateY(144deg);
            -o-transform: rotateY(144deg);
            transform: rotateY(144deg);
        }
    </style>
    
  • 相关阅读:
    sqlserver2012附加数据库2005版本时出现的问题
    jQuery实现评论还剩多少个字
    在mvc3中经常使用身份验证实现
    Windows Phone学习(1):棋子未动,先观全局
    使用jquery.pagination.js实现无刷新分页
    Javascript和JQuery中常用的随机数产生函数(很好用)
    网页打印样式设置(页眉,页脚,页边距)
    rdlc到设置宽度后自动换行(转)
    VSS忘记Admin密码和修改默认登陆用户
    解决jquery 修改onclick事件后IE兼容模式下立刻执行的问题
  • 原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8410338.html
Copyright © 2011-2022 走看看