11.纯 CSS 创作一个荧光脉冲 loader 特效
2024-10-19 12:59:32
原文地址:https://segmentfault.com/a/1190000014700727
HTML代码:
<html>
<head>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div class="circle"></div>
</body>
</html>
CSS代码:
html,
body ,
.circle{
margin:;
padding:;
height: 100%;
display: flex;
justify-content: center;
align-items: center; }
/* 画出中间的实心圆 */
/* :root是一个CSS伪类,它匹配文档的根元素 – <html>元素。
w3 相关地址 http://www.w3school.com.cn/cssref/css_selectors.asp */
:root {
--innerRadius: 2em;
}
.circle {
width: calc(var(--innerRadius) * 2);
height: calc(var(--innerRadius) * 2);
background-color: lime;
border-radius: 50%;
/* 画出圆环 */
box-shadow: 0 0 0 calc(var(--innerRadius) - 0.4em) white,
0 0 0 var(--innerRadius) lime;
position: relative;
}
/* 用伪元素 ::before 画出动画用到的圆环 ; 用伪元素 ::after 再画出一个动的圆环*/
.circle::before,
.circle::after {
content: '';
position: absolute;
width: calc(var(--innerRadius) * 2 * 2);
height: calc(var(--innerRadius) * 2 * 2);
border: 2px solid lime;
border-radius: 50%;
animation: pulse 2s linear infinite;
}
.circle::after {
animation-delay: 1s;
}
/* 增加动画效果
优化动画——增加渐淡和弹性效果 */
@keyframes pulse {
from {
/* scale(x,y)定义 2D 缩放转换,改变元素的宽度和高度。*/
transform: scale(1);
filter: opacity(0.9);
} to {
transform: scale(2);
filter: opacity(0);
}
}
最新文章
- staxon实现json和xml互转
- KMP算法的详细解释及实现
- 2014年第五届蓝桥杯C/C++程序设计本科B组决赛
- 使用BOM 的window对象属性打开新窗口
- Gulp自动化工具之图片压缩
- 【C#学习笔记】文本复制到粘贴板
- ubuntu系统安装jdk
- JQuery实现悬浮工具条
- mysql之 mysql 5.6不停机主主搭建(活跃双主基于日志点复制)
- Angular路由——路由守卫
- C# 填充Excel图表、图例背景色
- ArcMap复制粘贴问题
- 用commander.js构建自己的脚手架工具
- c# DataTable 序列化json
- filebeat成精之路
- 判断页面是app打开还是浏览器打开。cookie
- HttpURLConnection和HttpClient的区别2(转)
- iqueryable lambda表达式
- ool _WebTryThreadLock(bool),
- 在Tomcat下指定Jsp生成的Java文件路径