css实现卡通星际飞船降落404页面代码
代码语言:html
所属分类:布局界面
代码描述:css实现卡通星际飞船降落404页面代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
@import url('https://fonts.googleapis.com/css2?family=Tourney:wght@900&display=swap');
/*
font-family: 'Tourney', cursive;
*/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--length-unit: min(2.5vw, 1.5rem);
--ufo-length-unit: .5vmin;
--speed: 2s;
--ufo-travel: 15s;
--yellow: hsl(45deg, 100%, 45%);
}
body {
height: 100vh;
width: 100vw;
overflow: hidden;
}
section {
height: 100vh;
width: 100vw;
background: radial-gradient(circle at left, #1b2735 0%, transparent 100%);
overflow: hidden;
position: relative;
z-index: 10;
}
h1 {
font-family: 'Courier New', Courier, monospace;
font-size: calc(4.5 * var(--length-unit));
color: hsl(0deg, 0%, 90%);
text-align: center;
padding-top: 1rem;
text-shadow: 0px 0px calc(1.5 * var(--length-unit)) hsl(0deg, 0%, 95%, .75);
}
.number {
font-family: 'Tourney', cursive;
position: absolute;
width: calc(50vw - calc(10 * var(--length-unit)));
top: 50%;
transform: translateY(-50%);
color: hsl(180deg, 100%, 75%, .75);
font-size: calc(15 * var(--length-unit));
}
.number-left {
text-align: right;
-webkit-animation: var(--ufo-travel) left-apparition cubic-bezier(.1, .5, .9, .5) forwards;
animation: var(--ufo-travel) left-apparition cubic-bezier(.1, .5, .9, .5) forwards;
}
.number-right {
text-align: left;
right: 0;
-webkit-animation: var(--ufo-travel) right-apparition linear forwards;
animation: var(--ufo-travel) right-apparition linear forwards;
}
@-webkit-keyframes left-apparition {
0%, 25% {
opacity: 0;
}
30%, 35% {
opacity: .33;
}
40%, 45% {
opacity: .66;
}
46% {
opacity: 1;
}
}
@keyframes left-apparition {
0%, 25% {
opacity: 0;
}
30%, 35% {
opacity: .33;
}
40%, 45% {
opacity: .66;
}
46% {
opacity: 1;
}
}
@-webkit-keyframes right-apparition {
0%, 60% {
opacity: 0;
}
65%, 70% {
opacity: .33;
}
75%, 80% {
opacity: .66;
}
81% {
opacity: 1;
}
}
@keyframes right-apparition {
0%, 60% {
opacity: 0;
}
65%, 70% {
opacity: .33;
}
75%, 80% {
opacity: .66;
}
81% {
opacity: 1;
}
}
/* ===> MY-PLANET <=== */
/* => PLANET <= */
.my-planet {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(-30deg);
}
/* I create the ellipsis by deforming a circle using scaleX property.
It will rotate around its center*/
.my-planet-ellipsis-container {
height: calc(7.5 * var(--length-unit));
width: calc(7.5 * var(--length-unit));
-webkit-animation: my-planet-rotation var(--speed) infinite linear;
animation: my-planet-rotation var(--speed) infinite linear;
transform-origin: 50% 50%;
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
}
.my-planet-counter-rotation-container {
position: relative;
height: calc(10 * var(--length-unit));
width: calc(10 * var(--length-unit));
-webkit-animation: my-planet-counter-rotation var(--speed) infinite linear;
animation: my-planet-counter-rotation var(--speed) infinite linear;
}
.my-planet-planet {
position: absolute;
height: calc(10 * var(--length-unit));
width: calc(10 * var(--length-unit));
background-image: url(//repo.bfw.wiki/bfwrepo/images/404/2/qza3.png); /* planet texture, homemade :) */
background-size: calc(20 * var(--length-unit)) auto;
border-radius: 50%;
transform: scaleX(0.33) rotate(10deg);
-webkit-animation: var(--speed) texture-movement linear infinite;
animation: var(--speed) texture-movement linear infinite;
}
@-webkit-keyframes texture-movement {
from {
background-position: 0;
}
to {
background-position: calc(-10 * var(--length-unit));
}
}
@keyframes texture-movement {
from {
background-position: 0;
}
to {
background-position: calc(-10 * var(--length-unit));
}
}
@-webkit-keyframes my-planet-rotation {
from {
transform: translate(-50%, -50%) scaleX(3) rotateZ(360deg);
}
to {
transform: translate(-50%, -50%) scaleX(3) rotateZ(0deg);
}
}
@keyframes my-planet-rotation {
from {
transform: translate(-50%, -50%) scaleX(3) rotateZ(360deg);
}
to {
transform: translate(-50%, -50%) scaleX(3) rotateZ(0deg);
}
}
@-webkit-keyframes my-planet-counter-rotation {
0% {
transform: rotateZ(0deg);
}
33% {
transform: rotateZ(120deg) scale(.9);
}
100% {
transform: rotateZ(360deg);
}
}
@keyframes my-planet-counter-rotation {
0% {
transform: rotateZ(0deg);
}
33% {
transform: rotateZ(120deg) scale(.9);
}
100% {
transform: rotateZ(360deg);
}
}
/* => FACE <= */
.my-planet-face {
height: 100%;
width: 100%;
position: absolute;
top: 50%;
left: 50%;
transform-style: preserve-3d;
transform-origin: 50% 50% calc(-4.5 * var(--length-unit));
transform: translate(-50%, -50%);
-webkit-animation: var(--speed) rotation linear infinite backwards;
animation: var(--speed) rotation linear infinite backwards;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.my-planet-eye {
position: absolute;
height: calc(2 * var(--length-unit));
width: calc(1.75 * var(--length-unit));
background: white;
border-radius: calc(1 * var(--length-unit));
top: 20%;
}
.my-planet-eye-right {
right: 25%;
}
.my-planet-eye-left {
left: 25%;
}
.my-planet-eye:after {
content: '';
position: absolute;
width: 40%;
height: 40%;
border-radius: 50%;
background: black;
bottom: calc(.1 * var(--length-unit));
left: 50%;
transform: translate(-50%);
}
.my-planet-mouth {
position: absolute;
bottom: 20%;
left: calc(50% - calc(1.5 * var(--length-unit)));
width: calc(3 * var(--length-unit));
height: calc(1.5 * var(--length-unit));
border-radius: 50% 50% 50% 50% / 0% 0% 100% 100%;
background: hsl(0deg, 0%, 15%);
overflow: hidden;
}
.my-planet-mouth:after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-50%);
height: 25%;
width: 100%;
background: red;
}
.my-planet-mouth:before {
content: '';
position: absolute;
top: 0;
left: 50.........完整代码请登录后点击上方下载按钮下载查看
网友评论0