制作仅CSS的装载机是一个有意义的挑战。令人着迷的无限动画总是令人满意的。 Codepen展示了各种各样的技术,但是本文的重点是实现具有最小代码的单元素加载程序。
我已经开发了超过500个单div
加载器,这个四部分系列共享了所使用的技术。我们将探讨众多示例,展示微妙的调整如何产生不同的结果以及代码的简洁程度。
单元素装载机系列:
- 单元素加载器:旋转器 -您在这里
- 单元素加载程序:点
- 单元素加载程序:条
- 单元素加载程序:前进3D
第一篇文章创建了一个常见的加载器模式:旋转栏。
方法
一种简单的方法使用多个元素(在这种情况下为九个元素),每个元素在父母内代表一个bar。不透明度和转换创造出旋转效果。
但是,我的方法仅使用一个元素:
<div></div>
...和10个CSS声明:
.loader { 宽度:150px; / *控制大小 */ 方面比例:1; 显示:网格; 面具:锥形学位(来自22DEG,#0003,#000); 动画:加载1S步骤(8)无限; } .loader, .loader:{ -_ g:线性级别(#17177C 0 0)50%; / *在这里更新颜色 */ 背景: var( - _ g)/34%8%空间无重复, var(-_ g)/8%34%无重复空间; } .loader:{ 内容: ””; 变换:旋转(45维格); } @keyframes load { to {变换:旋转(1Turn); } }
代码分解
最初,该代码似乎很不寻常,但是比看起来要简单。首先,我们定义元素的尺寸 - 150px正方形。无论调整大小如何, aspect-ratio
可以确保它保持正方形。
.loader { 宽度:150px; / *控制大小 */ 方面比例:1; / *保持正方形 */ }
对于CSS加载器,单个尺寸控制值是理想的。这是宽度;所有计算都是相对于它的。这可以轻松调整尺寸。
渐变创建条。这是最复杂的部分。一个梯度生成两个条:
背景:线性级别(#17177C 0 0)50%/34%8%空间无重复;
该梯度使用一种颜色和两种颜色止损,从而产生纯色。尺寸宽34%,高8%(50%)。 space
关键字重复了梯度,创建了两个条。
从规范中:
将图像按照在背景定位区域内的频率进行重复,而不会被剪切,然后将图像间隔填充以填充该区域。第一个也是最后一个图像触及该区域的边缘。
34%的宽度只能允许两个条(3 34%> 100%),留下差距(100%-2 34%= 32%)。 space
将这些缝隙集中在集中。 33%至50%之间的宽度可确保至少两个带间距的条。
我们使用第二个梯度创建了另外两个条,导致:
背景: 线性梯度(#17177C 0 0)50%/34%8%空间无重复, 线性级别(#17177C 0 0)50%/8%34%无重复空间;
A CSS变量优化了这一点:
-_ g:线性级别(#17177C 0 0)50%; / *在这里更新颜色 */ 背景: var( - _ g)/34%8%空间无重复, var(-_ g)/8%34%无重复空间;
这产生了四个条。 CSS变量简化了颜色更新。
.loader
元素及其::before
创建了四个条,总计八个。
.loader { 宽度:150px; / *控制大小 */ 方面比例:1; 显示:网格; } .loader, .loader :: { -_ g:线性级别(#17177C 0 0)50%; / *在这里更新颜色 */ 背景: var( - _ g)/34%8%空间无重复, var(-_ g)/8%34%无重复空间; } .loader :: { 内容: ””; 变换:旋转(45维格); }
display: grid
确保伪元素覆盖父母的区域,从而消除了对明确维度的需求。
将伪元素旋转为45度元素,将其余的棒旋转。
不透明度控制
使用带有conic-gradient
的CSS mask
实现了单杆离开褪色小径的效果:
面具:锥形学位(来自22DEG,#0003,#000);
该梯度逐渐提高透明度。应用于装载机,会产生褪色的棒幻觉。每个栏似乎由于掩盖而逐渐消失,从而产生了不同不透明度的印象。
旋转动画
使用steps(8)
(其中8是条的数量)的阶梯动画创建旋转:
.loader { 动画:加载3S步骤(8)无限; } @keyframes load { 到{变换:旋转(1Turn)} }
这完成了单元素,最小CSS加载器。尺寸和颜色很容易控制。添加A ::after
可以扩展到十二个条,并进行较小的代码调整。使用不同的梯度和不透明度技术,也可以实现替代实现。
替代形状:点
使用径向梯度代替线性梯度,创建基于DOT的加载器是相似的。掩盖不透明度的核心概念保持不变,但形状是圆圈。 Safari兼容性可能需要调整梯度。
进一步的例子
使用各种技术(梯度,面具,伪元素)显示了其他几个旋转器加载器。这些是理解不同方法的练习。
结论
使用一个div
,梯度,伪元素和变量,可以创建各种旋转装载机。这些示例在根本上是相似的,并且进行了较小的修改。这仅仅是开始。该系列将探索更高级的CSS加载器技术。
单元素装载机系列:
- 单元素加载器:旋转器 -您在这里
- 单元素加载程序:点
- 单元素加载程序:条
- 单元素加载程序:前进3D
以上是单元素加载器:旋转器的详细内容。更多信息请关注PHP中文网其他相关文章!

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3汉化版
中文版,非常好用

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。