前端每日实战:45# 视频演示如何用纯 CSS 创作一个菱形 loader 动画

news/2024/6/28 18:17:57

图片描述

效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

https://codepen.io/comehope/pen/eKzjqK

可交互视频教程

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

https://scrimba.com/p/pEgDAM/c8eyJUE

源代码下载

每日前端实战系列的全部源代码请从 github 下载:

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,一个容器中包含 9 个子元素:

<div class="loader"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span>
</div>

居中显示:

body {margin: 0;height: 100vh;display: flex;align-items: center;justify-content: center;background-color: black;
}

定义容器和子元素尺寸,是一个大正方形里包含 9 个小正方形:

.loader {width: 10em;height: 10em;display: grid;grid-template-columns: repeat(3, 1fr);grid-gap: 0.5em;
}

把图案调整为大菱形中包含 9 个小菱形:

.loader {transform: rotate(45deg);
}

以竖向的小菱形为单位,为小菱形块上色:

.loader span {background-color: var(--c);
}.loader span:nth-child(7) {--c: tomato;
}.loader span:nth-child(4),
.loader span:nth-child(8) {--c: gold;
}.loader span:nth-child(1),
.loader span:nth-child(5),
.loader span:nth-child(9) {--c: limegreen;
}.loader span:nth-child(2),
.loader span:nth-child(6) {--c: dodgerblue;
}.loader span:nth-child(3) {--c: mediumpurple;
}

定义动画效果:

.loader span {animation: blinking 2s linear infinite;animation-delay: var(--d);transform: scale(0);
}@keyframes blinking {0%, 100% {transform: scale(0);}40%, 80% {transform: scale(1);}
}

最后,为小菱形设置时延,增强动感:

.loader span:nth-child(7) {--d: 0s;
}.loader span:nth-child(4),
.loader span:nth-child(8) {--d: 0.2s;
}.loader span:nth-child(1),
.loader span:nth-child(5),
.loader span:nth-child(9) {--d: 0.4s;
}.loader span:nth-child(2),
.loader span:nth-child(6) {--d: 0.6s;
}.loader span:nth-child(3) {--d: 0.8s;
}

大功告成!


http://lihuaxi.xjx100.cn/news/237972.html

相关文章

破坏区块链技术的安全漏洞

想知道更多关于区块链技术知识&#xff0c;请百度【链客区块链技术问答社区】链客&#xff0c;有问必答&#xff01;区块链仍然是一种新兴的技术&#xff0c;它继续引发关于其真实性的全球争论。由于区块链还处于起步阶段&#xff0c;许多人仍然不理解它的真正含义和发展的基础…

RSA加密算法破解及原理

“ RSA加密算法是一种非对称加密算法&#xff0c;目前被广泛应用。本文介绍RSA算法的基本原理和破解方法。”RSA在互联网上被广泛应用&#xff0c;典型的如各个网站的证书。很多应用数据的加密也是使用RSA。本文介绍RSA算法的原理&#xff0c;并介绍其破解方法和工具。01—RSA算…

使用文本用户界面(NMTUI)进行网络配置

NetworkManager 文本用户界面&#xff08;TUI&#xff09;工具 nmtui 可提供一个文本界面配置由 NetworkManager 控制的网络。该工具包含在 NetworkManager-tui 子软件包中。写入时&#xff0c;不会默认随 NetworkManager 安装该子软件包。要安装 NetworkManager-tui&#xff0…

干货,Wireshark使用技巧-过滤规则

“介绍Wireshark抓包时使用的过滤规则。”熟练使用Wireshark&#xff0c;对协议分析大有帮助。本文介绍抓取报文时使用的过滤规则和对已有报文的显示进行控制的显示规则。01—过滤规则使用在抓取报文时使用的规则&#xff0c;称为过滤规则&#xff0c;Wireshark底层是基于Winpc…

区块链技术的未来应用

想知道更多关于区块链技术知识&#xff0c;请百度【链客区块链技术问答社区】 链客&#xff0c;有问必答&#xff01;区块链是类似Excel电子表格一样的分类帐本&#xff0c;但他们能够接受来自许多不同方的输入。分类账只能在组成员达成共识时才能更改。由于分布式账本生态系统…

mac 制作usb启动盘_如何使用Mac制作Windows 10 USB-从Mac终端构建可启动的ISO

mac 制作usb启动盘Most new PCs dont come with DVD drives anymore. So it can be a pain to install Windows on a new computer.大多数新PC不再附带DVD驱动器。 因此&#xff0c;在新计算机上安装Windows可能会很痛苦。 Luckily, Microsoft makes a tool that you can use …

MQTT 协议 Client ID 长度不能超过23个字符

今天遇到一个MQTT的问题&#xff0c;MqttException: MQIsdp ClientId > 23 bytes ClientId的长度大于23时&#xff0c;无法链接MQTT服务器。 经过查看协议发现&#xff1a;客户端标识符(Client ID)是介于1和23个字符长度,客户端到服务器的唯一标识。它必须在搜有客户端连接到…

干货:Wireshark使用技巧-显示规则

“ 介绍Wireshark对已有报文的显示进行控制的显示规则。”之前对Wireshark抓包时使用的过滤规则进行了介绍&#xff0c;本文介绍对已有报文的显示进行控制的显示规则。掌握了显示规则&#xff0c;你使用Wireshark的动作都会炫起来。点击回顾&#xff1a;过滤规则01—显示规则使…