欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > CSS3动画——飞行的小精灵

CSS3动画——飞行的小精灵

2024/10/25 13:29:53 来源:https://blog.csdn.net/m0_73777400/article/details/141508017  浏览:    关键词:CSS3动画——飞行的小精灵

CSS3动画——飞行的小精灵

今天的这段代码通过多层结构、渐变色、圆角、多种动画效果以及细节处理,成功地创造了一个充满活力和趣味性的飞行小精灵动画效果。
效果如下:

飞行的小精灵

源代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>飞行的小精灵</title><style>* {padding: 0;margin: 0;}body {background-color: rgb(15, 17, 29);width: 100%;overflow: hidden;}div {width: 150px;height: 150px;}ul {display: block;width: 100%;height: 100%;font-size: 0px;}/* 最外层容器 */.container {translate: 0 50%;margin: 0 auto;width: 100%;height: 300px;}.main-container {position: relative;width: 100%;height: 100%;}/* 外层紫色盒子 */.first {margin: 0 auto;translate: 0 50%;/* border: 1px solid #fff; */box-shadow: 5px 5px 10px 5px rgba(80, 72, 160, 0.9) 30%, rgb(126, 117, 224, 0.5);}/* 紫色拖尾 */.first ul li {width: 100%;height: 25%;border-top-right-radius: 15px;border-bottom-right-radius: 15px;animation: first .7s ease-in-out infinite alternate;background-image: linear-gradient(to right, rgba(80, 72, 160, 0.9) 30%, rgb(126, 117, 224, 0.5));mask-image: linear-gradient(to right, rgba(80, 72, 160, 0.9) 70%, transparent);}.first ul li:nth-child(1) {animation-delay: .3s;}.first ul li:nth-child(2) {animation: first 2s 0.4s ease-out infinite alternate;}.first ul li:nth-child(3) {animation: first 1.5s 0.3s ease-out infinite alternate;}.first ul li:nth-child(4) {animation-delay: .5s;}@keyframes first {0% {width: 60%;opacity: 1;}100% {width: 140%;}}.first::before {content: '';position: absolute;left: -50%;width: 50%;height: 100%;border-top-left-radius: 75px;border-bottom-left-radius: 75px;background-color: rgba(80, 72, 160, 0.9);box-shadow: -2px 0 5px rgba(80, 72, 160, 0.7);}/* 第二层 */.second {margin: 0 auto;translate: 0 -50%;height: 130px;}.second ul li {height: 25%;width: 100%;background-color: rgba(133, 237, 232, 0.6);border-top-right-radius: 15px;border-bottom-right-radius: 15px;animation: second .6s ease-out infinite alternate;mask-image: linear-gradient(to right, #85EDE8 50%, transparent);}.second ul li:last-child {translate: 0 200%;animation-delay: 0.4s;}@keyframes second {0% {width: 80%;}100% {width: 130%;}}.second::before {content: '';position: absolute;left: -65px;width: 50%;height: 100%;border-top-left-radius: 75px;border-bottom-left-radius: 75px;background: #85EDE8;box-shadow: -2px 0 5px rgba(133, 237, 232, 0.7);}/* 第三层 */.third {position: relative;margin: 0 auto;translate: 0 -205px;}.third ul li {width: 100%;height: 10%;border-top-right-radius: 7.5px;border-bottom-right-radius: 7.5px;background-color: rgb(133, 237, 232);animation: third 1s infinite alternate;box-shadow: 0 0 5px rgba(133, 237, 232, 0.5);}.third .top {position: absolute;top: 10px;left: 0;}.third .bottom {position: absolute;bottom: 10px;left: 0;}.third ul li:nth-child(1) {animation-delay: 0.7s;}.third ul li:nth-child(2) {width: 25px;height: 15px;border-radius: 50px;animation: third-1 1.5s ease-out infinite;}.third ul li:nth-child(4) {width: 15px;border-radius: 50px;animation: third-1 1.5s ease-out infinite;}.third ul li:nth-child(3) {width: 50px;border-radius: 50px;animation: third-2 1s 0.1s ease-out infinite;}.third ul li:nth-child(5) {width: 60px;border-radius: 70px;animation: third-2 1s 0.4s ease-out infinite;}@keyframes third {0% {width: 55%;}100% {width: 85%;}}@keyframes third-1 {0% {left: 35px;}80% {cpacity: 0.7;}100% {left: 200px;opacity: 0;}}@keyframes third-2 {0% {left: 35px;}80% {cpacity: 0.7;}100% {left: 200px;opacity: 0;}}.third::before {content: '';position: absolute;top: 25px;left: -50px;width: 70px;height: 100px;border-top-left-radius: 65px;border-bottom-left-radius: 65px;background-color: #fff;}/* 面部的图案,待会儿取消注释*/.fourth {position: relative;width: 100px;height: 100px;background-color: transparent;margin: 0 auto;/* 因为前面的div盒子撑起来了 */translate: -25px -330%;background-color: #fff;}.fourth .eyes {position: absolute;top: 40px;left: 0px;width: 10px;height: 10px;border-radius: 50%;background-color: #000;}.eyes::after {content: "";position: absolute;top: 0;left: 30px;width: 10px;height: 10px;border-radius: 50%;background-color: #000;}.checks {position: absolute;top: 52px;left: -10px;width: 10px;height: 10px;border-radius: 50%;background-color: rgb(133, 237, 232);}.checks::after {content: "";position: absolute;top: 0;left: 50px;width: 10px;height: 10px;border-radius: 50%;background-color: rgb(133, 237, 232);}.smile {position: absolute;top: 53px;left: 8px;width: 20px;height: 10px;border: 3px solid #000;border-bottom-left-radius: 90px;border-bottom-right-radius: 90px;}/* 嘴型的设置 */.smile::after {content: "";position: absolute;top: -5px;left: -5px;width: 30px;height: 7px;background-color: #fff;}/* 设置动画条 */.fourth ul li {position: absolute;width: 100%;height: 15px;background-color: #fff;left: 1px;}.fourth ul .odd {border-top-right-radius: 50px;border-bottom-right-radius: 50px;}.fourth ul .even {background: radial-gradient(circle at 100% 50%, transparent 15px, #fff 18px);}.fourth ul li:nth-child(1) {top: 0px;animation: fourth-1 1s ease-in-out infinite alternate;}.fourth ul li:nth-child(2) {top: 12px;height: 17px;animation: fourth-2 1s 0.2s ease-in-out infinite alternate;filter: blur(1px);}.fourth ul li:nth-child(3) {top: 27px;animation: fourth-3 1s 0.4s ease-in-out infinite alternate;}.fourth ul li:nth-child(4) {top: 41px;height: 17px;animation: fourth-4 1s 0.6s ease-in-out infinite alternate;}.fourth ul li:nth-child(5) {bottom: 28px;animation: fourth-5 1s 0.6s ease-in-out infinite alternate;}.fourth ul li:nth-child(6) {bottom: 14px;animation: fourth-6 01s 0.6s ease-in-out infinite alternate;}.fourth ul li:nth-child(7) {bottom: 0px;animation: fourth-7 1s 0.6s ease-in-out infinite alternate;}@keyframes fourth-1 {0% {width: 120%;}100% {width: 140%;}}@keyframes fourth-2 {0% {width: 120%}100% {width: 125%;}}@keyframes fourth-3 {0% {width: 130%;}100% {width: 150%;}}@keyframes fourth-4 {0% {width: 125%;}100% {width: 140%;}}@keyframes fourth-5 {0% {width: 120%;}100% {width: 150%;}}@keyframes fourth-6 {0% {width: 120%;}100% {width: 130%;}}@keyframes fourth-7 {0% {width: 130%;}100% {width: 155%;}}@keyframes fourth-8 {0% {width: 155%;}100% {width: 165%;}}</style>
</head><body><div class="container"><div class="main-container"><!-- 外层紫色 --><div class="first"><ul><li></li><li></li><li></li><li></li></ul></div><!-- 第二层浅蓝 --><div class="second"><ul><li></li><li></li></ul></div><!-- 第三层稍微深的蓝色 --><div class="third"><ul><li class="top"></li><li class="top"></li><li class="top"></li><li class="bottom"></li><li class="bottom"></li><li class="bottom"></li></ul></div><!-- 内层图案 --><div class="fourth"><ul><li class="odd"></li><li class="even"></li><li class="odd"></li><li class="even"></li><li class="odd"></li><li class="even"></li><li class="odd"></li><li class="even"></li></ul><!-- 面部图像 --><span class="eyes"></span><span class="checks"></span><span class="smile"></span></div></div><div class=" flying-starts"></div></div>
</body></html>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com