立方體動畫

最近看到了網站上有一個立方體動畫,嘗試着模仿了一下

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"> 
	<title>立方體動畫</title>
	<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">  
	<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css">
</head>
<style>
    body {
        background: #607d8b!important;
    }
    @keyframes roll {
        from {
            transform: rotateX(-45deg) rotateY(45deg);
        }
        25% {
            transform: rotateX(-45deg) rotateY(45deg);
        }
        100% {
            transform: rotateX(-45deg) rotateY(405deg);
        }
    }
    @keyframes translateZZ {
        from {
            transform: rotateY(90deg) translateZ(100px);
        }
        12.5% {
            transform: rotateY(90deg) translateZ(200px);
        }
        25% {
            transform: rotateY(90deg) translateZ(100px);
        }
        100% {
            transform: rotateY(90deg) translateZ(100px);
        }
    }
    @keyframes translateZX1 {
        from {
            transform: rotateX(90deg) translateZ(100px);
        }
        12.5% {
            transform: rotateX(90deg) translateZ(200px);
        }
        25% {
            transform: rotateX(90deg) translateZ(100px);
        }
        100% {
            transform: rotateX(90deg) translateZ(100px);
        }
    }
    @keyframes translateZX2 {
        from {
            transform: rotateX(90deg) translateZ(-100px);
        }
        12.5% {
            transform: rotateX(90deg) translateZ(-200px);
        }
        25% {
            transform: rotateX(90deg) translateZ(-100px);
        }
        100% {
            transform: rotateX(90deg) translateZ(-100px);
        }
    }
    @keyframes translateZZ1 {
        from {
            transform: translateZ(100px);
        }
        12.5% {
            transform: translateZ(200px);
        }
        25% {
            transform: translateZ(100px);
        }
        100% {
            transform: translateZ(100px);
        }
    }
    @keyframes translateZZ2 {
        from {
            transform: translateZ(-100px);
        }
        12.5% {
            transform: translateZ(-200px);
        }
        25% {
            transform: translateZ(-100px);
        }
        100% {
            transform: translateZ(-100px);
        }
    }
    @keyframes translateZZZ {
        from {
            transform: rotateY(90deg) translateZ(-100px);
        }
        12.5% {
            transform: rotateY(90deg) translateZ(-200px);
        }
        25% {
            transform: rotateY(90deg) translateZ(-100px);
        }
        100% {
            transform: rotateY(90deg) translateZ(-100px);
        }
    }
    .ddd {
        animation: roll 4s linear infinite;
        width: 200px;
        height: 200px;
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -100px;
        margin-left: -100px;
        transform:rotateX(-45deg) rotateY(45deg);
        transform-style: preserve-3d;
    }
    .mindiv {
        position: absolute;
        width: 200px;
        height: 200px;
        box-shadow: 0 0 10px rgba(0,0,0,.1);
        transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        /**background: url('./bg.jpg') center center no-repeat;*/
        background: #448AFF;
        background-size: 100% 100%;
        top: 0;
        left: 0;
        opacity: .5;
        border: 5px solid #333;
    }
    .main1{
        transform: translateZ(100px);
        animation: translateZZ1 4s linear infinite;
    }
    .main2{
        transform: rotateX(90deg) translateZ(100px);
        animation: translateZX1 4s linear infinite;
    }
    .main3{
        transform: rotateX(90deg) translateZ(-100px);
        animation: translateZX2 4s linear infinite;
    }
    .main4{
        transform: rotateY(90deg) translateZ(100px);
        animation: translateZZ 4s linear infinite;
    }
    .main5{
        transform: rotateY(90deg) translateZ(-100px);
        animation: translateZZZ 4s linear infinite;
    }
    .main6{
        transform: translateZ(-100px);
        animation: translateZZ2 4s linear infinite;
    }
</style>
<body>
    <div class="ddd">
        <div class="mindiv main1"></div>
        <div class="mindiv main2"></div>
        <div class="mindiv main3"></div>
        <div class="mindiv main4"></div>
        <div class="mindiv main5"></div>
        <div class="mindiv main6"></div>
    </div>

</body>
<script>
</script>
</html>

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章