Follow Us On Telegram Telegram link
HTML
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <title>CodeAtNow | Pure CSS No Face Loader</title> <link rel="stylesheet" href="./style.css"> </head> <body> <!-- partial:index.partial.html --> <body> <div class="cloud"></div> <div class="no-face"> <div class="body"> <div class="head"> <div class="mask"> <div class="up-makeup"></div> <div class="up-makeup left"></div> <div class="eye"></div> <div class="down-makeup"></div> <div class="down-makeup left"></div> <div class="mouth"></div> </div> <div class="left-arm"></div> <div class="right-arm"></div> </div> </div> <div class="ground"></div> <div class="shadow"></div> </div> </body> <!-- partial --> </body> </html>
CSS
:root{ --black: #11131e; --violet: #9282C4; --white: #F2F2F2; --sky: #B1E5FF; } *, *::before, *::after{ box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0); user-select: none; } body{ margin: 0; min-height: 100vh; display: grid; justify-content: center; align-items: center; background-color: var(--sky); overflow: hidden; } .cloud, .cloud::after, .cloud::before{ width: 300px; height: 100px; position: absolute; top: 10px; background-image: radial-gradient(white 50%, transparent 50%), radial-gradient(white 50%, transparent 50%), radial-gradient(white 50%, transparent 50%); background-size: 300px 300px, 200px 180px, 180px 95px; background-position: center -40px, -28px 10px, 142px 45px; background-repeat: no-repeat; } .cloud::after, .cloud::before{ content: ""; } .cloud::after{ transform: scale(.3) rotateY(180deg); right: -220px; top: -5px; } .cloud::before{ transform: scaley(.5) scaleX(.7) rotateY(180deg); right: -600px; top: 60px; } .cloud{ animation: wind 7s linear infinite; } @keyframes wind{ from{ transform: translateX(min(-100vw, -800px)); } to{ transform: translateX(max(100vw, 800px)); } } .no-face{ width: 264px; min-height: 342px; position: relative; } .body{ width: 264px; height: 276px; bottom: 0; animation: jump 3s linear infinite; } @keyframes jump { 0%{ transform: translateY(0); } 45%{ transform: translateY(0) rotate(-10deg); transform-origin: bottom; } 50%{ transform: translateY(-60px) rotate(0); } 55%{ transform: translateY(-60px) rotate(10deg); } 80%{ transform: translateY(0); } } .head{ width: 234px; height: 237px; left: 15px; top: -66px; } .body, .head, .eye,.eye::before, .left-arm, .right-arm{ background-color: var(--black); } .body, .head, .mask, .eye,.eye::before, .mouth, .mouth::before, .left-arm, .right-arm{ position: absolute; border-radius: 50%; } .mask{ width: 168px; height: 201px; border-radius: 50%; background-color: var(--white); top: 12px; left: calc(50% - 84px); } .eye{ width: 36px; height: 15px; top: 75px; left: 21px; box-shadow: 91px 0 0 0 var(--black); animation: close-eyes 3s linear infinite; } @keyframes close-eyes { 0%{ transform: scaley(1); opacity: 1; } 45%{ transform: scaley(0.9); } 50%{ transform: scaley(0.7) translateX(0); } 45%{ transform: scaley(1); } } .eye::before{ content: ""; width: 24px; height: 6px; bottom: -9px; left: calc(50% - 12px); box-shadow: 91px 0 0 0 var(--black); } .mouth{ width: 46px; height: 18px; bottom: 18px; left: calc(50% - 23px); box-shadow: inset 0 50px 0 0 var(--black); background-color: var(--black); animation: open-mouth 3s linear infinite; } @keyframes open-mouth { 0%{ transform: scaley(.9); } 15%{ transform: scaley(1.4); } 45%{ transform: scaley(1.4); } 46%{ transform: scaley(1.6); } } .mouth::before{ content: ""; background-color: var(--violet); width: 24px; height: 6px; bottom: -9px; left: calc(50% - 12px); } .up-makeup{ width: 22px; height: 42px; position: absolute; top: 24px; left: 28px; } .up-makeup::after{ content: ""; position: absolute; border-right: 13px solid transparent; border-left: 13px solid transparent; border-bottom: 38px solid var(--violet); border-radius: 50%; top: 0; left: -2px; } .up-makeup::before{ content: ""; width: 22px; height: 20px; border-radius: 50% 50% 50% 50% / 70% 70% 30% 30%; position: absolute; left: 0; bottom: 0; background-color: var(--violet); } .down-makeup{ width: 22px; height: 57px; position: absolute; top: 104px; left: 28px; } .down-makeup::after{ content: ""; position: absolute; border-right: 13px solid transparent; border-left: 13px solid transparent; border-top: 57px solid var(--violet); border-radius: 50%; bottom: 0; left: -2px; } .down-makeup::before{ content: ""; width: 22px; height: 20px; border-radius: 50% 50% 50% 50% / 30% 30% 70% 70%; position: absolute; left: 0px; top: 0; background-color: var(--violet); } .left-arm, .right-arm{ width: 48px; height: 118px; top: 150px; transform-origin: top; animation: move-arms 3s linear infinite; } .left-arm{ left: -6px; --arm-rotate: 120deg; } .right-arm{ right: -6px; --arm-rotate: -120deg; } @keyframes move-arms{ 30%, 40%, 50%, 60%, 70%, 80%{ transform: rotate(0); } 35%, 45%, 55%, 65%, 75%{ transform: rotate(var(--arm-rotate)); } } .left{ left: 118px; } .ground{ width: 200vw; height: 50vh; position: absolute; left: -50vw; bottom: calc(-50vh + 30px); background-color: rgba(0,0,0,.3); z-index: -1; } .shadow{ width: 264px; height: 18px; background-color: rgba(0,0,0,.3); border-radius: 50%; position: absolute; bottom: -9px; left: 0; z-index: -1; animation: move-shadow 3s linear infinite; } @keyframes move-shadow { 0%{ transform: scale(1); opacity: 1; } 45%{ transform: scale(0.9) translateX(-5px); opacity: .9; } 50%{ transform: scale(0.7) translateX(0); opacity: .7; } 55%{ transform: scale(0.9) translateX(5px); opacity: .9; } 80%{ transform: scale(1) translateX(0); opacity: 1; } }
0 Comments