效果预览

在线演示

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。
https://codepen.io/comehope/pen/oyJvpe

可交互视频

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

请用 chrome, safari, edge 打开观看。
https://scrimba.com/p/pEgDAM/cqwpQh7

源代码下载

本地下载

每日前端实战系列的全部源代码请从 github 下载:
https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器中包含一个子元素,子元素内是文字:

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

居中显示:

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

定义容器尺寸:

.loader {width: 10em;height: 10em;font-size: 30px;box-sizing: border-box;
}

设置文字样式:

.loader span {position: absolute;color: white;width: inherit;height: inherit;text-align: center;line-height: 10em;font-family: sans-serif;
}

画出组成圆的顶部弧线:

.loader {border-top: 0.3em solid hotpink;border-radius: 50%;
}

用伪元素画出组成圆的另外 2 条弧线:

.loader {position: relative;
}.loader::before,
.loader::after {content: '';position: absolute;width: inherit;height: inherit;border-radius: 50%;box-sizing: border-box;top: -0.2em;
}.loader::before {border-top: 0.3em solid dodgerblue;transform: rotate(120deg);
}.loader::after {border-top: 0.3em solid gold;transform: rotate(240deg);
}

定义动画效果:

@keyframes rotating {50% {transform: rotate(calc(180deg * var(--direction)));}100% {transform: rotate(calc(360deg * var(--direction)));}
}

把动画效果应用到圆上:

.loader {animation: rotating 2s ease-in-out infinite;--direction: 1;
}

把动画效果应用到文字上:

.loader span {animation: rotating 2s linear infinite;--direction: -1;
}

最后,隐藏可能超出窗口的内容:

body {overflow: hidden;
}

大功告成!

原文地址:https://segmentfault.com/a/1190000015424389

如何用纯 CSS 创作一个摇摇晃晃的 loader相关推荐

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

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/eKzjqK 可交互视频教程 此视频 ...

  2. python绘制图形沙漏_前端每日实战:118# 视频演示如何用纯 CSS 创作一个沙漏 loader...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, saf ...

  3. 如何用纯 CSS 创作一个沙漏 loader

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VGegxr 可交互视频 ...

  4. 如何用纯 CSS 创作一个小球上台阶的动画

    如何用纯 CSS 创作一个小球上台阶的动画 效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/come ...

  5. 如何用纯 CSS 创作一个同心圆弧旋转 loader 特效

    效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/OZmXQX 可交互视频教程 此视 ...

  6. 如何用纯 CSS 创作一个单元素抛盒子的 loader

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/qKwXbx 可交互视频 ...

  7. 如何用纯 CSS 创作一个荧光脉冲 loader 特效

    效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/erRzzR 可交互视频教程 此视 ...

  8. 如何用纯 CSS 创作一个文本淡入淡出的 loader 动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ERwpeG 可交互视频 ...

  9. 如何用纯 CSS 创作一个极品飞车 loader

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/w178191520/article/details/84861010 效果预览 在线演示 按下右侧的 ...

最新文章

  1. 发那科karel机器人环境配置_湖北轻工职业技术学院-FANUC机器人授权培训中心正式授牌...
  2. r - 求平均成绩_学霸秘籍:小学数学知识点例题讲解 — 平均数问题
  3. 批处理命令 For循环命令具体解释!
  4. ios点击大头针气泡不弹出_画家双手抖不停,画不了画丢了工作,却迎合抖动创造出一个个奇迹...
  5. Perl常用语法记录
  6. 漫步最优化二十四——二分搜索
  7. 2016年1月29日报
  8. [转】Ubuntu16.04 字符界面 ifconfig 命令无网络接口 ens33 的解决方法
  9. python爬取网页实时数据_使用 Python 爬取网页数据
  10. 两种不同编码规则的查询
  11. numpy教程:随机数模块numpy.random
  12. mysql审计audit插件_MySQL5.7 (审计)安装audit审计插件
  13. java数组的四种拷贝方式
  14. CSS实现最简洁的四角边框
  15. 游戏中的Decal(贴花)
  16. 负数在计算机中的存储方式
  17. java pdf域插入img_java实现在pdf模板的指定位置插入图片
  18. even parity
  19. 【总结】2023数学建模美赛!收官!
  20. L2-018. 多项式A除以B

热门文章

  1. build muduo网络库undefined reference to问题
  2. springboot:thymeleaf
  3. java- 和 || 优先级的问题
  4. html常用标签详解4-列表标签
  5. WKWebView中经常用到的操作
  6. Python OOP
  7. Design Pattern: Singleton 模式
  8. 绘图中的drawRect
  9. 数据库事务及锁机制介绍
  10. 在线白板,基于socket.io的多人在线协作工具