「HTML+CSS」--自定义加载动画【008】
前言
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: 10px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  animation: rotation 1s linear infinite;
}
span::after{
  position: relative;
  content: '';
  display: inline-block;
  width:  72px;
  height:  72px;
  border-radius: 50%;
  border: 10px solid transparent;
  border-bottom-color: #FF3D00;
  border-top-color: #FF3D00;
}
@keyframes rotation {
  0% { transform: rotate(0deg) }
  100% { transform: rotate(360deg)
  }
}
原理解释
动画的核心部分就是span和span::after,section仅作为提示框。
步骤1
将span元素设置为
- 一个96️96px的正方形
 - 边框为10px,白色,solid
 
    width : 96px;
    height: 96px;
    border: 10px solid #fff;
效果图如下

步骤2
span::after伪元素设置为:
- 位于span正中
 - 边长72️72px的正方形
 
注:红色部分即为span::after,为便于观察才设置为红色

步骤3
span::after设置
- 下边框:10px 红色 solid
 - 上边框:10px 红色 solid
 - 左/右边框:10px 透明 solid
 
    border: 10px solid transparent;
    border-bottom-color: #FF3D00;
    border-top-color: #FF3D00;

步骤4
span和span::after
- border-radius均设置为50%
 
border-radius: 50%;
效果图如下

步骤5
为span添加动画
animation: rotation 1s linear infinite;
/*动画实现*/
  @keyframes rotation {
    0% { transform: rotate(0deg) }
    100% { transform: rotate(360deg)
    }
效果图如下

结语
学习来源:
主要学会思路,弄清楚效果是如何实现的,然后再根据自己的理解再敲一遍代码,一定要敲!
文章仅作为学习笔记,记录从0到1的一个过程。希望对您有所帮助,如有错误欢迎小伙伴指正~
我是海轰ଘ(੭ˊᵕˋ)੭,如果您觉得写得可以的话,请点个赞吧
写作不易,「点赞」+「收藏」+「转发」
谢谢支持️

「HTML+CSS」--自定义加载动画【008】的更多相关文章
- 「HTML+CSS」--自定义加载动画【007】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【009】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【010】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【011】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【014】【疑问未解决】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【015】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【016】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【017】
		
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
 - 「HTML+CSS」--自定义加载动画【026】
		
效果展示 Demo代码 HTML <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
 
随机推荐
- React 组件之间通信 All in One
			
React 组件之间通信 All in One 组件间通信 1. 父子组件之间通信 props 2. 兄弟组件之间通信 3. 跨多层级的组件之间通信 Context API https://react ...
 - Flutter: debounce 避免高频率事件
			
原文 函数 import 'dart:async'; Function debounce(Function fn, [int t = 30]) { Timer _debounce; return () ...
 - 【目标检测】用Fast R-CNN训练自己的数据集超详细全过程
			
目录: 一.环境准备 二.训练步骤 三.测试过程 四.计算mAP 寒假在家下载了Fast R-CNN的源码进行学习,于是使用自己的数据集对这个算法进行实验,下面介绍训练的全过程. 一.环境准备 我这里 ...
 - 谈谈 JS 垃圾回收机制
			
谈谈 JS 垃圾回收机制 JS内存泄漏与垃圾回收机制 https://javascript.info/garbage-collection
 - Mybites学习
			
参考链接:https://www.cnblogs.com/dongying/p/4073259.html <select <!-- 1. id (必须配置) id是命名空间中的唯一标识符, ...
 - Basic认证时添加请求头
			
http Basic认证 http协议定义的一种认证方式,将客户端id和客户端密码按照"客户端ID:客户端密码"的格式拼接,并用base64编 码,放在header中请求服务端, ...
 - BSOJ 1562 【堆练习】丑数3576
			
Description 丑数是指素因子都在集合{2,3,5,7}内的整数,第一个丑数是1. 现在输入n(n<=4000),输出第n个丑数. Input 输入文件仅一行为一个整数n. Output ...
 - 后端程序员之路 26、CAP理论
			
可能是CAP理论的最好解释 - 西代零零发 - 博客频道 - CSDN.NEThttp://blog.csdn.net/dc_726/article/details/42784237 CAP理论 - ...
 - pyinstaller打包exe运行失败
			
使用Pyinstaller来打包自己开发的软件时遇到的几个问题及解决方法.工具主要功能是数据分析,使用机器学习算法完成数据训练和预测功能.主要用到了两个学习库keras和sklearn,所以说在打包时 ...
 - POJ-2236(并查集)
			
Wireless NetWork POJ-2236 需要注意这里的树的深度需要初始化为0. 而且,find函数需要使用路径压缩,这里的unint合并函数也使用了优化(用一开始简单的合并过不了). #i ...