CSS Loaders:开箱即用的 500+ CSS loading 效果
zhezhongyun 2025-08-03 09:25 30 浏览
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
今天给大家带来的主题是 CSS 加载器,在很多前端开发场景都离不开它,但是如果需要很多绚丽的效果往往又需要自行开发。而 css-loaders 项目提供了超过 500+ 的加载器,希望大家后续能够用得上。话不多说,直接进入正题!
什么是单元素 css-loaders
css-loaders 是使用 CSS 制作动画的加载旋转器的集合。
每个 spinner 都由一个带有 loader 的类和内容文本“正在加载...”的 div 组成。 该文本适用于屏幕阅读器,可用作旧版浏览器的打底状态。
css-loaders 项目的目的是创建一组最小负载旋转器,既具有视觉吸引力,又传达其预期含义。该项目严格限制每个加载器一个元素(不包括伪元素),因为相信像加载器这样简单的东西不值得、也不需要更多元素。
每个加载程序都有一个以像素为单位的字体大小,所有其他大小均以 em 为单位,因此要更改加载程序的大小,只需调整字体大小即可。
在浏览器兼容方面也比较优秀:
- IE 10+
- Chrome 4.0+
- Firefox 16.0+
- Opera 15.0+
- Safari 4.0+
目前 css-loaders 项目在Github上通过MIT协议开源,有超过7k的star、1.1k的fork、是一个值得关注和尝试的前端开源项目。
如何使用css-loaders
不管什么效果,首先都需要一个loading元素,可以通过div添加:
<span class="loader"></span>
洗衣机加载中效果
.loader {
width: 120px;
height: 150px;
background-color: #fff;
background-repeat: no-repeat;
background-image: linear-gradient(#ddd 50%, #bbb 51%),
linear-gradient(#ddd, #ddd), linear-gradient(#ddd, #ddd),
radial-gradient(ellipse at center, #aaa 25%, #eee 26%, #eee 50%, #0000 55%),
radial-gradient(ellipse at center, #aaa 25%, #eee 26%, #eee 50%, #0000 55%),
radial-gradient(ellipse at center, #aaa 25%, #eee 26%, #eee 50%, #0000 55%);
background-position: 0 20px, 45px 0, 8px 6px, 55px 3px, 75px 3px, 95px 3px;
background-size: 100% 4px, 1px 23px, 30px 8px, 15px 15px, 15px 15px, 15px 15px;
position: relative;
border-radius: 6%;
animation: shake 3s ease-in-out infinite;
transform-origin: 60px 180px;
}
.loader:before {
content: "";
position: absolute;
left: 5px;
top: 100%;
width: 7px;
height: 5px;
background: #aaa;
border-radius: 0 0 4px 4px;
box-shadow: 102px 0 #aaa;
}
.loader:after {
content: "";
position: absolute;
width: 95px;
height: 95px;
left: 0;
right: 0;
margin: auto;
bottom: 20px;
background-color: #bbdefb;
background-image:
linear-gradient( to right, #0004 0%, #0004 49%, #0000 50%, #0000 100% ),
linear-gradient(135deg, #64b5f6 50%, #607d8b 51%);
background-size: 30px 100%, 90px 80px;
border-radius: 50%;
background-repeat: repeat, no-repeat;
background-position: 0 0;
box-sizing: border-box;
border: 10px solid #DDD;
box-shadow: 0 0 0 4px #999 inset, 0 0 6px 6px #0004 inset;
animation: spin 3s ease-in-out infinite;
}
@keyframes spin {
0% { transform: rotate(0deg) }
50% { transform: rotate(360deg) }
75% { transform: rotate(750deg) }
100% { transform: rotate(1800deg) }
}
@keyframes shake {
65%, 80%, 88%, 96% { transform: rotate(0.5deg) }
50%, 75%, 84%, 92% { transform: rotate(-0.5deg) }
0%, 50%, 100% { transform: rotate(0) }
}
效果如下:
更多Loading效果可以参考文末的官网,本文不再展开。
参考资料
https://github.com/lukehaas/css-loaders
https://cssloaders.github.io/
相关推荐
- Opinion丨Struggle Against U.S. Mind colonization in the Global South
-
Editor'snote:Thismonth,XinhuaNewsAgency'sThinkTankreleasedareporttitled"Colonizationof...
- 爱可可AI论文推介(2020.11.4)_爱可可女装旗舰店
-
LG-机器学习CV-计算机视觉CL-计算与语言AS-音频与语音RO-机器人(*表示值得重点关注)1、[LG]*CombiningLabelPropagationan...
- 何新:罗马伪史考英文版序言_罗马史学
-
2019-10-2514:48:27何新:罗马伪史考序言(英文译本)HeXin:PreambleofResearchonPseudo-historyofRome1Afewyear...
- XPeng Stock Rises Over 4% after Q2 Revenue and EV Margin Set Records
-
TMTPOST--TheAmericandepositaryreceipts(ADRs)ofXPengInc.rosearound4.2%onTuesdayaftert...
- 英汉世界语部首(八)_英文部首字典
-
本节讲八个部首,分别是:弓gōng【ECWLrad】bow廾gǒng【ECWLrad】twen广guǎng【ECWLrad】vast己jǐ【ECWLrad】self已yǐ...
- 一课译词:划水_划水是什么地方的方言
-
[Photo/SIPA]懒惰是人类的天性,因此才总有人会在工作时“划水”。“划水【huáshuǐ】”,本意是指“用胳膊划的动作(makestrokeswithone’sarms)”,延伸为“...
- 首测!GPT-4o做Code Review可行吗?
-
编辑|言征出品|51CTO技术栈(微信号:blog51cto)近日,OpenAI一记重拳,推出了GPT-4o(“o”表示“omni”),将语音识别和对话方面的优势展示的淋漓尽致。几乎可以肯定,...
- C++|漫谈STL细节及内部原理_c++ stl详解
-
1988年,AlexanderStepanov开始进入惠普的PaloAlto实验室工作,在随后的4年中,他从事的是有关磁盘驱动器方面的工作。直到1992年,由于参加并主持了实验室主任BillWo...
- C++ inline关键字深度解析:不止于优化的头文件定义许可
-
在C++开发中,几乎每个程序员都用过inline关键字,但多数人只停留在“内联优化”的表层理解。事实上,inline的真正威力在于它打破了C++的单一定义规则(ODR)限制,成为头文件中安全定义函数的...
- 实用 | 10分钟教你搭建一个嵌入式web服务器
-
之前分享的文章中提到了几种可以在嵌入式中使用的web服务器。嵌入式web服务器就是把web服务器移植到嵌入式系统的服务器。它仍然是基于http文本协议进行通信的,具有标准的接口形式,对客户端...
- 中间语言格式_中间格式文本是什么
-
在通常情况下,编译器会将目标语言转换成某种中间语言格式,而不是直接将源代码转换成二进制机器指令,不少c语言编译器,都会将代码编译成汇编语言,然后再通过汇编语言编译器将汇编代码转换成目标机器可执行的二进...
- 一线开发大牛带你深度解析探讨模板解释器,解释器的生成
-
解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...
- 干货,Web开发和前端开发逆天工具大全
-
微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(点击页底“阅读原文”前往下载)●●●逆天工具CDN资源库国内Bootstrap中文网开源项目免费CDN服务36...
- 移动端rem+vw适配_移动端web页面适配方案
-
rem:rem是相对单位,设置根元素html的font-size,比如给html设置字体大小为100px,1rem=100px;rem缺点:1.和根元素font-size值强耦合,系统字...
- 从零搭建 React 开发 H5 模板_react html5
-
项目创建创建项目文件夹mkdir react-democd react-demonpm init -y依赖安装yarn add rea...
- 一周热门
- 最近发表
-
- Opinion丨Struggle Against U.S. Mind colonization in the Global South
- 爱可可AI论文推介(2020.11.4)_爱可可女装旗舰店
- 何新:罗马伪史考英文版序言_罗马史学
- XPeng Stock Rises Over 4% after Q2 Revenue and EV Margin Set Records
- 英汉世界语部首(八)_英文部首字典
- 一课译词:划水_划水是什么地方的方言
- 首测!GPT-4o做Code Review可行吗?
- C++|漫谈STL细节及内部原理_c++ stl详解
- C++ inline关键字深度解析:不止于优化的头文件定义许可
- 实用 | 10分钟教你搭建一个嵌入式web服务器
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- opacity 属性 (32)
- transition 属性 (33)