纯CSS绘制3D立方体
2019-08-14 09:59:47来源:博客园 阅读 ()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .container { width: 400px; height: 400px; border: 1px solid #cccccc; } .box { position: relative; width: 100px; height: 100px; margin: auto; margin-top: 150px; transform-style: preserve-3d; } .box div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: .5; transform-origin: center; } .box div:nth-of-type(1) { } .box div:nth-of-type(2) { background-color: yellow; } .box div:nth-of-type(3) { background-color: green; } .box div:nth-of-type(4) { background-color: blue; } .box div:nth-of-type(5) { background-color: black; } .box div:nth-of-type(6) { background-color: darkmagenta; } </style> </head> <body> <div class="container"> <div class="box animate"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </div> </body> </html>
.box.animate div { animation: ease 4s 0s infinite; } .box.animate div:nth-of-type(1) { animation-name: box1-move; } .box.animate div:nth-of-type(2) { animation-name: box2-move; } .box.animate div:nth-of-type(3) { animation-name: box3-move; } .box.animate div:nth-of-type(4) { animation-name: box4-move; } .box.animate div:nth-of-type(5) { animation-name: box5-move; } .box.animate div:nth-of-type(6) { animation-name: box6-move; } @keyframes box1-move { 0% { transform: rotatex(0deg); } 25% { transform: rotatex(90deg); } 50% { transform: rotatex(90deg) translatez(50px); } 100% { transform: rotatex(90deg) translatez(50px); } } @keyframes box2-move { 0% { transform: rotatex(0deg); } 25% { transform: rotatex(90deg); } 50% { transform: rotatex(90deg) translatez(-50px); } 100% { transform: rotatex(90deg) translatez(-50px); } } @keyframes box3-move { 0% { transform: rotatex(0deg); } 25% { transform: rotatey(90deg); } 50% { transform: rotatey(90deg) translatez(50px); } 100% { transform: rotatey(90deg) translatez(50px); } } @keyframes box4-move { 0% { transform: rotatex(0deg); } 25% { transform: rotatey(90deg); } 50% { transform: rotatey(90deg) translatez(-50px); } 100% { transform: rotatey(90deg) translatez(-50px); } } @keyframes box5-move { 0% { } 25% { transform: translatez(0px); } 50% { transform: translatez(50px); } 100% { transform: translatez(50px); } } @keyframes box6-move { 0% { } 25% { transform: translatez(0px); } 50% { transform: translatez(-50px); } 100% { transform: translatez(-50px); } }
.box.animate { animation: box-move ease 4s 0s infinite; } @keyframes box-move { 0% { transform: rotatex(0deg) rotatey(0deg) } 50% { transform: rotatex(45deg) rotatey(45deg) } 100% { transform: rotatex(405deg) rotatey(405deg) } }
<!-- Html代码 --> <div class="ope"> <button id="animate">Move</button> <button id="stop">Stop</button> </div> <!-- CSS代码 --> .ope { margin-top: 100px; text-align: center; } .ope button { margin: 0 10px; border: 1px solid #4380f5; border-radius: 5px; cursor: pointer; background-color: #4380f5; color: #ffffff; outline: none; } .ope button:hover { background-color: #3e76e3; } .ope button:active { background-color: #3361ba; } <!-- JavaScript代码 --> <script> (function () { var box = document.getElementsByClassName('box')[0]; document.getElementById('animate').onclick = function () { box.className = 'box animate'; } document.getElementById('stop').onclick = function () { box.className = 'box'; } })(); </script>
更多文章可移步到我的github博客,谢谢!
原文链接:https://www.cnblogs.com/zhangjinling1993/p/3d_box.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:CSS 样式的使用方式、选择器
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash