【css | loading】好看的loading特效

示例:

https://code.juejin.cn/pen/7277764394618978365

html

<div class="pl"><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__dot"></div><div class="pl__text">Loading…</div>
</div>

css

:root {--bg: #454954;--fg: #e3e4e8;--fg-t: rgba(227, 228, 232, 0.5);--primary1: #255ff4;--primary2: #5583f6;--trans-dur: 0.3s;font-size: calc(16px + (20 - 16) * (100vw - 320px) / (1280 - 320));
}body {background-color: var(--bg);background-image: linear-gradient(135deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));color: var(--fg);font: 1em/1.5 "Varela Round", Helvetica, sans-serif;height: 100vh;min-height: 360px;display: grid;place-items: center;transition: background-color var(--trans-dur), color var(--trans-dur);
}.pl {box-shadow: 2em 0 2em rgba(0, 0, 0, 0.2) inset, -2em 0 2em rgba(255, 255, 255, 0.1) inset;display: flex;justify-content: center;align-items: center;position: relative;letter-spacing: 0.1em;text-transform: uppercase;transform: rotateX(30deg) rotateZ(45deg);width: 15em;height: 15em;
}
.pl, .pl__dot {border-radius: 50%;
}
.pl__dot {animation-name: shadow;box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.5);top: calc(50% - 0.75em);left: calc(50% - 0.75em);width: 1.5em;height: 1.5em;
}
.pl__dot, .pl__dot:before, .pl__dot:after {animation-duration: 2s;animation-iteration-count: infinite;position: absolute;
}
.pl__dot:before, .pl__dot:after {content: "";display: block;left: 0;width: inherit;transition: background-color var(--trans-dur);
}
.pl__dot:before {animation-name: pushInOut1;background-color: var(--bg);border-radius: inherit;box-shadow: 0.05em 0 0.1em rgba(255, 255, 255, 0.2) inset;height: inherit;z-index: 1;
}
.pl__dot:after {animation-name: pushInOut2;background-color: var(--primary1);border-radius: 0.75em;box-shadow: 0.1em 0.3em 0.2em rgba(255, 255, 255, 0.4) inset, 0 -0.4em 0.2em #2e3138 inset, 0 -1em 0.25em rgba(0, 0, 0, 0.3) inset;bottom: 0;clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);height: 3em;transform: rotate(-45deg);transform-origin: 50% 2.25em;
}
.pl__dot:nth-child(1) {transform: rotate(0deg) translateX(5em) rotate(0deg);z-index: 5;
}
.pl__dot:nth-child(1), .pl__dot:nth-child(1):before, .pl__dot:nth-child(1):after {animation-delay: 0s;
}
.pl__dot:nth-child(2) {transform: rotate(-30deg) translateX(5em) rotate(30deg);z-index: 4;
}
.pl__dot:nth-child(2), .pl__dot:nth-child(2):before, .pl__dot:nth-child(2):after {animation-delay: -0.1666666667s;
}
.pl__dot:nth-child(3) {transform: rotate(-60deg) translateX(5em) rotate(60deg);z-index: 3;
}
.pl__dot:nth-child(3), .pl__dot:nth-child(3):before, .pl__dot:nth-child(3):after {animation-delay: -0.3333333333s;
}
.pl__dot:nth-child(4) {transform: rotate(-90deg) translateX(5em) rotate(90deg);z-index: 2;
}
.pl__dot:nth-child(4), .pl__dot:nth-child(4):before, .pl__dot:nth-child(4):after {animation-delay: -0.5s;
}
.pl__dot:nth-child(5) {transform: rotate(-120deg) translateX(5em) rotate(120deg);z-index: 1;
}
.pl__dot:nth-child(5), .pl__dot:nth-child(5):before, .pl__dot:nth-child(5):after {animation-delay: -0.6666666667s;
}
.pl__dot:nth-child(6) {transform: rotate(-150deg) translateX(5em) rotate(150deg);z-index: 1;
}
.pl__dot:nth-child(6), .pl__dot:nth-child(6):before, .pl__dot:nth-child(6):after {animation-delay: -0.8333333333s;
}
.pl__dot:nth-child(7) {transform: rotate(-180deg) translateX(5em) rotate(180deg);z-index: 2;
}
.pl__dot:nth-child(7), .pl__dot:nth-child(7):before, .pl__dot:nth-child(7):after {animation-delay: -1s;
}
.pl__dot:nth-child(8) {transform: rotate(-210deg) translateX(5em) rotate(210deg);z-index: 3;
}
.pl__dot:nth-child(8), .pl__dot:nth-child(8):before, .pl__dot:nth-child(8):after {animation-delay: -1.1666666667s;
}
.pl__dot:nth-child(9) {transform: rotate(-240deg) translateX(5em) rotate(240deg);z-index: 4;
}
.pl__dot:nth-child(9), .pl__dot:nth-child(9):before, .pl__dot:nth-child(9):after {animation-delay: -1.3333333333s;
}
.pl__dot:nth-child(10) {transform: rotate(-270deg) translateX(5em) rotate(270deg);z-index: 5;
}
.pl__dot:nth-child(10), .pl__dot:nth-child(10):before, .pl__dot:nth-child(10):after {animation-delay: -1.5s;
}
.pl__dot:nth-child(11) {transform: rotate(-300deg) translateX(5em) rotate(300deg);z-index: 6;
}
.pl__dot:nth-child(11), .pl__dot:nth-child(11):before, .pl__dot:nth-child(11):after {animation-delay: -1.6666666667s;
}
.pl__dot:nth-child(12) {transform: rotate(-330deg) translateX(5em) rotate(330deg);z-index: 6;
}
.pl__dot:nth-child(12), .pl__dot:nth-child(12):before, .pl__dot:nth-child(12):after {animation-delay: -1.8333333333s;
}
.pl__text {font-size: 0.75em;max-width: 5rem;position: relative;text-shadow: 0 0 0.1em var(--fg-t);transform: rotateZ(-45deg);
}/* Animations */
@keyframes shadow {from {animation-timing-function: ease-in;box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);}25% {animation-timing-function: ease-out;box-shadow: 0.1em 0.1em 0 0.1em black, 0.8em 0 0.8em rgba(0, 0, 0, 0.5);}50%, to {box-shadow: 0.1em 0.1em 0 0.1em black, 0.3em 0 0.3em rgba(0, 0, 0, 0.3);}
}
@keyframes pushInOut1 {from {animation-timing-function: ease-in;background-color: var(--bg);transform: translate(0, 0);}25% {animation-timing-function: ease-out;background-color: var(--primary2);transform: translate(-71%, -71%);}50%, to {background-color: var(--bg);transform: translate(0, 0);}
}
@keyframes pushInOut2 {from {animation-timing-function: ease-in;background-color: var(--bg);clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);}25% {animation-timing-function: ease-out;background-color: var(--primary1);clip-path: polygon(0 25%, 100% 25%, 100% 100%, 0 100%);}50%, to {background-color: var(--bg);clip-path: polygon(0 75%, 100% 75%, 100% 100%, 0 100%);}
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/107794.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技云报道:青云科技为何成为IDC云转型的“神队友”?

科技云报道原创。 如今随着出海企业数量的不断增长&#xff0c;跨境业务也逐渐从蓝海变红海&#xff0c;从“价格战”到“智能战”。 一个明显的变化&#xff0c;来自企业对于出海效率的提升。《埃森哲2022中国企业国际化研究》指出&#xff0c;企业想要在出海浪潮中取胜&…

顺序表详解(接口详解)

顺序表&#xff08;接口详解&#xff09;&#x1f996; 1.线性表2.顺序表2.1 概念及结构 3.接口的实现3.1 定义SeqList3.2 初始化3.3 销毁3.4 打印3.5 扩容3.6 数据插入1.头插2.尾插3.下标插入 3.7 数据删除1.头删2.尾删3.下表删除 3.8 查询数据3.9 数据修改 4.顺序表存在的部分…

工厂设计模式

github&#xff1a;GitHub - QiuliangLee/pattern: 设计模式 概念 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式&#xff0c;根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 简单工厂模式、工厂方法模式和抽象工厂模式有何区别&#xff1f; - 知…

【SpringCloudAlibaba】Seata分布式事务使用

文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用&#xff0c;原来的三个…

【微信小程序开发】一文学会使用视图组件进行界面设计

引言 在小程序开发中&#xff0c;界面设计是非常重要的一环。本文将介绍如何学习使用小程序的视图组件进行界面设计&#xff0c;并提供代码示例。 文章目录 引言1. 小程序视图组件简介2. 视图组件的使用方法2.1. 组件的引入2.2. 组件的使用2.3. 组件的事件绑定2.4. 组件的样式设…

微火资讯快报:共享wifi项目怎么样?

共享WiFi项目一直以来都是一个热门的创业方向&#xff0c;它通过将公共场所的WiFi热点转换成二维码&#xff0c;使用户扫码就可轻松地连接并使用网络&#xff0c;而商家也可以通过该平台实现广告宣传、营销推广等功能。下面就让我们来详细了解一下共享WiFi项目的各个方面。 市场…

推荐10个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI&#xff08;https://ai.ciyundata.com/&#xff09;是一种基于文心大模型的知识增强大语言模型&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;领域的技术研发。它具备强大的语义理解和生成能力&#xff0c;能够处理各种复杂的自然语言任务。…

算法通关村第十九关:白银挑战-动态规划高频问题

白银挑战-动态规划高频问题 1. 最少硬币数 LeetCode 322 https://leetcode.cn/problems/coin-change/description/ 思路分析 尝试用回溯来实现 假如coins[2,5,7]&#xff0c;amount27&#xff0c;求解过程中&#xff0c;每个位置都可以从[2,5,7]中选择&#xff0c;因此可以…

iwebsec靶场 文件包含漏洞通关笔记3-session文件包含

目录 1.打开靶场 2.源码分析 &#xff08;1&#xff09;session文件包含漏洞的的工作原理 &#xff08;2&#xff09;sessionstart()做了哪些初始化工作 3.获取session文件位置 4.向session写入webshell 5.访问webshell 1.打开靶场 iwebsec 靶场漏洞库iwebsechttp://iw…

【Blender】Blender入门学习

目录 0 参考视频教程0.1 Blender理论知识0.2 Blender上手实践0.3 FBX模型导入Unity 1 Blender的窗口介绍1.1 主界面1.2 模型编辑窗口 2 Blender的基本操作2.1 3D视图的平移2.2 3D视图的旋转2.3 3D视图的缩放2.4 修改快捷键2.5 使物体围绕选择的物体旋转2.6 四视图的查看2.7 局部…

遥遥领先的内存函数

目录 ​编辑 函数介绍 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.2 memmove 2.3 memcmp 函数实现 1.1 strlen 1.2 strcpy 1.3 strcmp 1.4 strcat 1.5 strstr 2.1 memcpy 2.3 memcmp 函数介绍 1.1 strlen size_t strlen ( const char *…

猫头虎的技术笔记:Spring Boot启动报错解决方案

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…