前言

Hello!小伙伴!
首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
哈哈 自我介绍一下
昵称:海轰
标签:程序猿一只|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,有幸拿过国奖、省奖等,已保研。目前正在学习C++/Linux(真的真的太难了~)
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
日常分享:微信公众号【海轰Pro】记录生活、学习点滴,分享一些源代码或者学习资料,欢迎关注~

效果展示

Demo代码

HTML

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="style.css"><title>Document</title>
</head>
<body><section><span></span></section>
</body>
</html>

CSS

html,body{margin: 0;height: 100%;
}
body{display: flex;justify-content: center;align-items: center;background: #263238;
}
section {width: 650px;height: 300px;padding: 10px;position: relative;display: flex;align-items: center;justify-content: center;border: 2px solid red;
}
span {width : 96px;height: 96px;border-radius: 50%;display: inline-block;position: relative;border: 10px solid white;border-bottom-color: transparent;animation: rotation 2s linear infinite ;
}
span::after{content: '';position: absolute;left: 51px;top: 79px;border: 20px solid transparent;border-right-color: white;transform: rotate(-45deg);
}
@keyframes rotation {0% { transform: rotate(0deg) }100% { transform: rotate(360deg)}
}

原理详解

步骤1

使用span标签作为箭尾,设置为

  • 宽度、高度均为96px
  • 边框:10px solid,其中上/左/右边框为白色 下边框为透明
 width : 96px;height: 96px;border: 10px solid white;border-bottom-color: transparent;

效果图如下

步骤2

span标签圆角化

border-radius: 50%;

效果图如下

步骤3

使用span::after伪类元素 作为箭头

设置为

  • 绝对定位
  • 边框:20px solid,右边框为白色,上/下/左边框为透明
  • 旋转-45度
  position: absolute;/* left: 51px;top: 79px; */border: 20px solid transparent;border-right-color: white;transform: rotate(-45deg);

效果图如下

图片红色部分即为span::after

步骤4

设置span::after的位置

注:

  • 这里移动位置时候就需要一点点移动了
  • 确保箭头和箭尾可以很好的重合
  • 这里肯定是可以用数学公式计算出来的,这里稍微需要点时间,之后有空再更新更为一般情况时需要移动的距离公式吧
/*这里箭头需要移动的距离*/left: 51px;top: 79px;

效果图如下

步骤5

为span添加动画

  • 顺时针旋转(0-360度) 2s 无限循环
 animation: rotation  2s linear infinite ;
/*动画实现*/
@keyframes rotation {0% { transform: rotate(0deg) }100% { transform: rotate(360deg)}
}

结语

学习来源:

https://codepen.io/bhadupranjal/pen/vYLZYqQ

文章仅作为学习笔记,记录从0到1的一个过程。希望对您有所帮助,如有错误欢迎小伙伴指正~

我是海轰ଘ(੭ˊᵕˋ)੭,如果您觉得写得可以的话,请点个赞吧

写作不易,「点赞」+「收藏」+「转发」

谢谢支持❤️

「HTML+CSS」--自定义加载动画【027】相关推荐

  1. 「HTML+CSS」--自定义加载动画【047】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  2. Android为网络请求自定义加载动画

    android自带的加载动画都不怎么好看,在这里介绍一种自定义加载动画的方法 原始图片: 编写动画progressbar.xml, <?xml version="1.0" e ...

  3. 纯css绘制齿轮加载动画

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.效果图 二.步骤 1.html部分 2.css部分 前言 纯css绘制齿轮加载动画. 无需使用任何图片及素材. 提示: ...

  4. CSS齿轮转动加载动画

    CSS齿轮转动加载动画 前言:该动画主要流程分为三块:绘制齿轮,齿轮转动动画,出场动画 绘制齿轮 绘制齿轮主要是使用svg进行绘制的 <svg class="guaongRudderO ...

  5. 【微信小程序】自定义加载动画3

    目录 效果图 配置 版本1 版本2 结语 效果图 配置 配置方法参考上一篇文章:[微信小程序]自定义加载动画 版本1 Component({behaviors

  6. 【微信小程序】自定义加载动画4

    目录 效果图 配置文件 结语 效果图 配置文件 配置方法参考上一篇文章:[微信小程序]自定义加载动画 组件源代码: Component({behaviors: [],properties: {

  7. 直播app系统源码通过CSS液体实现加载动画

    直播app系统源码通过CSS液体实现加载动画 首先我们要让元素能够旋转起来,可以使用transform中的rotate进行2D的360deg旋转. 紧接着我们可以通过CSS变量(–开头的形式)结合an ...

  8. Android 自定义加载动画LoadingView

    前言 本文参考辉哥的博客属性动画 - 58同城数据加载动画,用来学习属性动画相关知识非常合适. 最终效果 整体思路 绘制部分分析: 整体加载动画由三部分组成: 1.上方的正方形.圆形以及三角形,需要进 ...

  9. 加载html动画logo,仅CSS实现的加载动画 – Loader.css

    仅CSS实现的加载动画 – Loader.css 4月 13, 2015 评论 (6) Sponsor 当网页的页面大小较大,用户加载可能需要较长的时间,在这些情况下,我们一般会用到(加载)loadi ...

最新文章

  1. Android --- layout_marginStart和layout_marginEnd的详细讲解
  2. Linux基本命令 -- grep参数说明及常用用法
  3. hello python jpush_Python人脸识别 + 手机推送,老板来了你就会收到短信提示
  4. 从错误中学习,如何配置iis?
  5. yum源配置文件解释
  6. 怎么使用Vegas制作炫彩灯光效果?
  7. 学习的四重境界,给上初中侄女,如何学习,如何定义社会人才
  8. 在Java编程中,为什么char类型数组可以直接用数组名打印,而其他类型数组打印结果而是地址值。
  9. VSCode 使用code runner
  10. 博图——生成和导入外部源文件
  11. 计算机网络公网ip,怎么查看电脑的公网IP地址
  12. 微软网盘SkyDrive简单一步获取mp3外链的方法
  13. 模块学习2:基于PELCO-D协议对云台进行定点控制
  14. 高德地图zoom设置为小数
  15. SQL上机练习题目及答案
  16. 关于iframe框架?
  17. Word 2013版本管理
  18. 采样 | 高压直流采样电路详解
  19. css中min-height和max-height的区别
  20. 数学建模(五):图与网络模型

热门文章

  1. 统计字符串中出现频率最高的字母 C语言
  2. MES与ERP的集成
  3. qq 浏览器不支持java_各种浏览器开启JavaScript脚本方法
  4. Easy UI 支持移动端例子
  5. windterm复制长命令,换行只显示最后一行需修改配置
  6. Bugly 遇到的问题总结
  7. 2021全球与中国PCIe芯片市场现状及未来发展趋势
  8. 表单提交checkbox为必选
  9. html5刮奖效果,HTML5+Canvas实战之刮奖效果
  10. Top 5 个功能强大免费开源的数据可视化平台