<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <!--抱歉,时间紧暂时只写了谷歌的方法,ie等浏览器的兼容还没写0.0.--> <title>C3旋转立方体</title> <style> * { margin: 0; padding: 0; } body { background-color: skyblue; } .box { margin: 100px auto; width: 200px; height: 200px; position: relative; /*3d旋转效果*/ transform: rotate3d(1, 1, 0, -30deg); /*保留旋转效果不让回来*/ transform-style: preserve-3d; /*喜欢添加景深效果的可以自己调节啊*/ perspective: 0px; /*角度*/ perspective-origin: 0px 0px; } .box > div { width: 200px; height: 200px; position: absolute; opacity: 0.5; text-align: center; line-height: 200px; } .front { background-color: #ffc96b; transform: translateZ(100px); } .back { background-color: #a2faff; transform: translateZ(-100px) rotate(180deg); } .left { background-color: #ffcef2; transform: translateX(-100px) rotateY(-90deg); } .right { background-color: #a2d1ff; transform: translateX(100px) rotateY(90deg); } .top { background-color: #f0f4ff; transform: translateY(-100px) rotateX(90deg); } .bottom { background-color: #26d8ff; transform: translateY(100px) rotateX(-90deg); } .box:hover { animation: move 5s infinite linear; } @keyframes move { from { transform: rotate3d(1, 0, 0, 290deg); } 50% { transform: rotate3d(0, 1, 0, -290deg); } to { transform: rotate3d(0, 0, 1, 266deg); } } </style> </head> <body> <div class="box"> <div class="front">FRONT</div> <div class="back">BACK</div> <div class="left">LEFT</div> <div class="right">RIGHT</div> <div class="top">TOP</div> <div class="bottom">BOTTOM</div> </div> </body> </html>