本篇内容介绍了“怎么用CSS3 loading实现预加载动画特效”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
这是一款超酷CSS3 loading预加载动画特效。该loading特效共有4种不同的效果,分别通过不同的CSS3 keyframes帧动画来完成。
4种loading预加载动画的HTML结构分别如下:
<!-- 效果一 --><p class="spinner-box"> <p class="circle-border"> <p class="circle-core"></p> </p> </p> <!-- 效果二 --><p class="spinner-box"> <p class="configure-border-1"> <p class="configure-core"></p> </p> <p class="configure-border-2"> <p class="configure-core"></p> </p> </p> <!-- 效果三 --><p class="spinner-box"> <p class="pulse-container"> <p class="pulse-bubble pulse-bubble-1"></p> <p class="pulse-bubble pulse-bubble-2"></p> <p class="pulse-bubble pulse-bubble-3"></p> </p></p> <!-- 效果四 --><p class="spinner-box"> <p class="solar-system"> <p class="earth-orbit orbit"> <p class="planet earth"></p> <p class="venus-orbit orbit"> <p class="planet venus"></p> <p class="mercury-orbit orbit"> <p class="planet mercury"></p> <p class="sun"></p> </p> </p> </p> </p></p>
然后分别为它们添加下面的CSS样式。
/* KEYFRAMES */ @keyframes spin { from { transform: rotate(0); } to{ transform: rotate(359deg); }} @keyframes configure-clockwise { 0% { transform: rotate(0); } 25% { transform: rotate(90deg); } 50% { transform: rotate(180deg); } 75% { transform: rotate(270deg); } 100% { transform: rotate(359deg); }} @keyframes configure-xclockwise { 0% { transform: rotate(45deg); } 25% { transform: rotate(-45deg); } 50% { transform: rotate(-135deg); } 75% { transform: rotate(-215deg); } 100% { transform: rotate(-305deg); }} @keyframes pulse { from { opacity: 1; transform: scale(1); } to { opacity: .25; transform: scale(.75); }} /* GRID STYLING */ * { box-sizing: border-box;} body { min-height: 100vh; background-color: #37474f; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: flex-start;} .spinner-box { width: 300px; height: 300px; display: flex; justify-content: center; align-items: center; background-color: transparent;} /* SPINNING CIRCLE */ .circle-border { width: 150px; height: 150px; padding: 3px; display: flex; justify-content: center; align-items: center; border-radius: 50%; background: rgb(63,249,220); background: linear-gradient(0deg, rgba(63,249,220,0.1) 33%, rgba(63,249,220,1) 100%); animation: spin .8s linear 0s infinite;} .circle-core { width: 100%; height: 100%; background-color: #37474f; border-radius: 50%;} /* X-ROTATING BOXES */ .configure-border-1 { width: 115px; height: 115px; padding: 3px; position: absolute; display: flex; justify-content: center; align-items: center; background: #ffab91; animation: configure-clockwise 3s ease-in-out 0s infinite alternate;} .configure-border-2 { width: 115px; height: 115px; padding: 3px; left: -115px; display: flex; justify-content: center; align-items: center; background: rgb(63,249,220); transform: rotate(45deg); animation: configure-xclockwise 3s ease-in-out 0s infinite alternate;} .configure-core { width: 100%; height: 100%; background-color: #37474f;} /* PULSE BUBBLES */ .pulse-container { width: 120px; display: flex; justify-content: space-between; align-items: center;} .pulse-bubble { width: 20px; height: 20px; border-radius: 50%; background-color: #3ff9dc;} .pulse-bubble-1 { animation: pulse .4s ease 0s infinite alternate;}.pulse-bubble-2 { animation: pulse .4s ease .2s infinite alternate;}.pulse-bubble-3 { animation: pulse .4s ease .4s infinite alternate;} /* SOLAR SYSTEM */ .solar-system { width: 250px; height: 250px; display: flex; justify-content: center; align-items: center;} .orbit { position: relative; display: flex; justify-content: center; align-items: center; border: 1px solid #ffffffa5; border-radius: 50%;} .earth-orbit { width: 165px; height: 165px; -webkit-animation: spin 12s linear 0s infinite;} .venus-orbit { width: 120px; height: 120px; -webkit-animation: spin 7.4s linear 0s infinite;} .mercury-orbit { width: 90px; height: 90px; -webkit-animation: spin 3s linear 0s infinite;} .planet { position: absolute; top: -5px; width: 10px; height: 10px; border-radius: 50%; background-color: #3ff9dc;} .sun { width: 35px; height: 35px; border-radius: 50%; background-color: #ffab91;}
“怎么用CSS3 loading实现预加载动画特效”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。