博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端每日实战:84# 视频演示如何用纯 CSS 创作一个极品飞车 loader
阅读量:6159 次
发布时间:2019-06-21

本文共 1403 字,大约阅读时间需要 4 分钟。

图片描述

效果预览

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

可交互视频

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

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

源代码下载

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

代码解读

定义 dom,容器中包含 7 个元素:

居中显示:

body{    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background: linear-gradient(midnightblue, black);}

画出 7 个方块:

.loader {    width: calc(1em * 7 + 0.15em * 6);    height: 1.5em;    font-size: 20px;    display: flex;    justify-content: space-between;}.loader span {    width: 1em;    background-color: deepskyblue;    border-radius: 0.1em;}

让方块倾斜:

.loader span {    transform: skewX(-25deg);}

定义闪烁的动画效果:

.loader span {    animation: animate 0.8s infinite alternate;    filter: opacity(0);}@keyframes animate {    to {        filter: opacity(1);    }}

定义变量,设置动画延时,使效果看起来像是有一个暗色块从左到右移动:

.loader span {    animation-delay: calc((var(--n) - 1) * 0.2s);}.loader span:nth-child(1) {    --n: 1;}.loader span:nth-child(2) {    --n: 2;}.loader span:nth-child(3) {    --n: 3;}.loader span:nth-child(4) {    --n: 4;}.loader span:nth-child(5) {    --n: 5;}.loader span:nth-child(6) {    --n: 6;}.loader span:nth-child(7) {    --n: 7;}

最后,增加色块的缩放效果:

.loader span {    transform: skewX(-25deg) scale(0.1);}@keyframes animate {    to {        filter: opacity(1);        transform: skewX(-25deg) scale(1);    }}

大功告成!

转载地址:http://sisfa.baihongyu.com/

你可能感兴趣的文章
我的2012
查看>>
CHARTING图表控件介绍及下载地址
查看>>
JAVA题目一道
查看>>
视频上传、转码、切面、存储的思路
查看>>
mp4无法用于直播流
查看>>
IDEA安装Spring Initializer插件
查看>>
php:自定义session
查看>>
PHP专题-开发基础(七)
查看>>
让 Windows 7 定时待机
查看>>
配置isc-dhcrelay需要注意的事项
查看>>
isc-dhcp监听网口的实现步骤
查看>>
基于密钥的认证机制(ssh)
查看>>
Centos7.4 安装elasticsearch6.1.3集群部署
查看>>
【分享】java反射获取、设置、打印对象属性,对象转map基础工具
查看>>
unicode编码问题
查看>>
django 中 csrf问题 的解决方法
查看>>
搭建基于spring MVC框架 + RESTful架构风格技术总结
查看>>
爬虫基本原理及Request和Response分析
查看>>
discuz数据库迁移,改密码后,相关配置文件修改
查看>>
iOS SDK: Send E-mail In-App
查看>>