纯CSS实现超精美月兔404界面,一款超精美的月兔404前端页面代码,希望大家能喜欢。
背景设计+404月球设计+蹦跳的月兔设计。演示效果http://www.bokequ.com/show/404/3/
1、背景的设计为月球空间的感觉,它的实现主要用到了CSS中的一个函数:radial-gradient()radial-gradient() 函数用径向渐变创建 “图像”。
2、月球的设计由HTML和CSS完成,而旋转部分的实现则由CSS中的一个重要组件@keyframes来实现
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <title>蹦跳的月兔404页面代码</title> <script type="text/javascript"> //五秒以后再跳转 setTimeout("javascript:location.href='http://www.bokequ.com'", 5000);</script> <style> *, *:after, *:before { box-sizing: border-box; } html { background: #23508a; background: radial-gradient(ellipse at center, #23508a 0%, #1b3b62 50%, #1a365b 100%); font-family: arial; min-width: 400px; } body { width: 100%; height: 100vh; margin: 0; background: radial-gradient(ellipse at center, #73859a 1%, rgba(114, 132, 152, 0) 2%, rgba(0, 0, 0, 0) 100%), radial-gradient(ellipse at center, #73859a 1%, rgba(114, 132, 152, 0) 2%, rgba(0, 0, 0, 0) 100%), radial-gradient(ellipse at center, rgba(115, 133, 154, 0.5) 1%, rgba(114, 132, 152, 0) 2%, rgba(0, 0, 0, 0) 100%); background-size: 250px 250px , 100px 100px , 60px 60px; background-repeat: repeat; } .figure { position: fixed; left: 50%; top: 50%; -webkit-transform: translate(-50%, -65%); transform: translate(-50%, -65%); } .error-no { font-size: 200px; font-weight: bold; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: center; justify-content: center; color: #68e3e9; text-shadow: -2px 4px 2px rgba(0, 0, 0, 0.5); } .moon { width: 150px; height: 150px; border-radius: 50%; background: #fff; position: relative; display: inline-block; z-index: 10; overflow: hidden; box-shadow: -20px 0 20px #e9e9e9 inset; border: 1px solid #68e3e9; } .moon:after { content: ''; position: absolute; left: 75px; top: 70%; width: 20px; height: 20px; border-radius: 50%; color: #e9e9e9; background: currentcolor; -webkit-animation: 5s spin linear infinite; animation: 5s spin linear infinite; box-shadow: -30px -50px 0 20px, 50px -30px 0 -8px , 50px -90px 0 2px , 100px -90px 0 0px, 100px -40px 0 25px, 150px -15px 0 0px, 240px 15px 0 4px, 230px -80px 0 2px, 200px -20px 0 16px, 350px 0 0, 320px -50px 0 20px, 400px -30px 0 -8px, 400px -90px 0 2px; } .mj { position: relative; margin: auto; z-index: 30; width: 60px; -webkit-transform: scale(0.6) translatey(70%); transform: scale(0.6) translatey(70%); } @-webkit-keyframes spin { 0% { left: 75px; } 100% { left: -275px; } } @keyframes spin { 0% { left: 75px; } 100% { left: -275px; } } .rabbit { width: 5em; height: 3em; background: #ffffff; border-radius: 70% 90% 60% 50%; position: relative; -moz-transform: rotate(0deg) translate(-2em, 0); -ms-transform: rotate(0deg) translate(-2em, 0); -webkit-transform: rotate(0deg) translate(-2em, 0); transform: rotate(0deg) translate(-2em, 0); animation: hop 1s infinite linear; z-index: 1; } .no-flexbox .rabbit { margin: 10em auto 0; } .rabbit:before { content: ""; position: absolute; width: 1em; height: 1em; background: white; border-radius: 100%; top: 0.5em; left: -0.3em; box-shadow: 4em 0.4em 0 -0.35em #3f3334, 0.5em 1em 0 white, 4em 1em 0 -0.3em white, 4em 1em 0 -0.3em white, 4em 1em 0 -0.4em white; animation: kick 1s infinite linear; } .rabbit:after { content: ""; position: absolute; width: .75em; height: 2em; background: white; border-radius: 50% 100% 0 0; -moz-transform: rotate(-30deg); -ms-transform: rotate(-30deg); -webkit-transform: rotate(-30deg); transform: rotate(-30deg); right: 1em; top: -1em; border-top: 1px solid #f7f5f4; border-left: 1px solid #f7f5f4; box-shadow: -0.5em 0em 0 -0.1em white; } @keyframes hop { 20% { -moz-transform: rotate(-10deg) translate(1em, -2em); -ms-transform: rotate(-10deg) translate(1em, -2em); -webkit-transform: rotate(-10deg) translate(1em, -2em); transform: rotate(-10deg) translate(1em, -2em); box-shadow: -0.2em 3em 0 -1em #fff; } 40% { -moz-transform: rotate(10deg) translate(3em, -4em); -ms-transform: rotate(10deg) translate(3em, -4em); -webkit-transform: rotate(10deg) translate(3em, -4em); transform: rotate(10deg) translate(3em, -4em); box-shadow: -0.2em 3.25em 0 -1.1em #fff; } 60%,75% { -moz-transform: rotate(0) translate(4em, 0); -ms-transform: rotate(0) translate(4em, 0); -webkit-transform: rotate(0) translate(4em, 0); transform: rotate(0) translate(4em, 0); box-shadow: -0.2em 1em 0 -0.75em #fff; } } @keyframes kick { 20%,50% { box-shadow: 4em 0.4em 0 -0.35em #3f3334, 0.5em 1.5em 0 white, 4em 1.75em 0 -0.3em white, 4em 1.75em 0 -0.3em white, 4em 1.9em 0 -0.4em white; } 40% { box-shadow: 4em 0.4em 0 -0.35em #3f3334, 0.5em 2em 0 white, 4em 1.75em 0 -0.3em white, 4.2em 1.75em 0 -0.2em white, 4.4em 1.9em 0 -0.2em white; } } </style> </head> <body> <!-- partial:index.partial.html --> <div class="figure"> <div class="mj"> <div class='rabbit'></div> </div> <div class="error-no"> <span>4</span> <div class="moon"></div><span>4</span> </div> </div> <!-- partial --> </body> </html>
评论