HTML+CSS 旋转呼吸加载器

news2024/11/25 22:53:59

效果演示

23-旋转呼吸加载器.gif

实现了一个旋转加载动画效果,包括一个圆形的加载框和两个不同颜色的圆形旋转动画。加载框和动画都使用了CSS的动画属性,实现了旋转和缩放的效果。整个加载动画的样式比较简单,使用了黑色和黄色的背景色,以及白色的文本颜色。

Code

HTML
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>旋转呼吸加载器</title>
    <link rel="stylesheet" href="./23-旋转呼吸加载器.css">
</head>

<body>
    <div class="loader">
        <div class="box">
            <div class="circle"></div>
            <div class="circle"></div>
        </div>
        <span>Loading...</span>
    </div>
</body>

</html>
CSS
* {
    margin: 0;
    padding: 0;
}

body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #333;
}

.loader {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.loader .box {
    position: relative;
    width: 200px;
    height: 200px;
    animation: rotateBox 10s linear infinite;
}

.loader .box .circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f5e866;
    border-radius: 50%;
    animation: animate 5s linear infinite;
}

.loader .box .circle:nth-child(2) {
    background-color: #a08fd5;
    animation-delay: -2.5s;
}

.loader span {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    margin-top: 30px;
    letter-spacing: 4px;
}

@keyframes animate {
    0% {
        transform: scale(1);
        transform-origin: left;
    }

    50% {
        transform: scale(0);
        transform-origin: left;
    }

    50.01% {
        transform: scale(0);
        transform-origin: right;
    }

    100% {
        transform: scale(1);
        transform-origin: right;
    }
}

@keyframes rotateBox {
    to {
        transform: rotate(360deg);
    }
}

实现思路拆分

*{
    margin: 0;
    padding: 0;
}

这段代码是设置所有元素的外边距和内边距为0。

body{
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #333;
}

这段代码是设置body元素的高度为100vh,并且使用flex布局,使其垂直和水平居中。同时设置了背景色。

.loader{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

这段代码是设置加载动画容器的样式,包括使用flex布局、垂直和水平居中。

.loader .box{
    position: relative;
    width: 200px;
    height: 200px;
    animation: rotateBox 10s linear infinite;
}

这段代码是设置加载框的样式,包括相对定位、宽度、高度和旋转动画。

.loader .box .circle{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f5e866;
    border-radius: 50%;
    animation: animate 5s linear infinite;
}

这段代码是设置加载框中的圆形动画的样式,包括绝对定位、宽度、高度、背景色、圆角和旋转动画。

.loader .box .circle:nth-child(2){
    background-color: #a08fd5;
    animation-delay: -2.5s;
}

这段代码是设置第二个圆形动画的样式,包括不同的背景色和延迟时间。

.loader span{
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    margin-top: 30px;
    letter-spacing: 4px;
}

这段代码是设置加载动画下方的文本样式,包括颜色、字体大小、字体粗细、上外边距和字母间距。

@keyframes animate {
    0%{
        transform: scale(1);
        transform-origin: left;
    }
    50%{
        transform: scale(0);
        transform-origin: left;
    }
    50.01%{
        transform: scale(0);
        transform-origin: right;
    }
    100%{
        transform: scale(1);
        transform-origin: right;
    }
}

这段代码是定义了一个CSS动画,用于实现圆形动画的缩放效果。

@keyframes rotateBox {
    to{
        transform: rotate(360deg);
    }
}

这段代码是定义了一个CSS动画,用于实现加载框的旋转效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈希表、递归在二叉树中的应用-1372. 二叉树中的最长交错路径

题目链接及描述 1372. 二叉树中的最长交错路径 - 力扣&#xff08;LeetCode&#xff09; 题目分析 题目所述&#xff0c;计算在二叉树中交替遍历的最大深度【左->右->左】【右->左->右】&#xff0c;例如对于从当前根节点root出发&#xff0c;则此时遍历方向有两个…

【健身经验】2 圆肩

1、普拉提是针对小肌肉群锻炼&#xff0c;可以改善圆肩&#xff0c;圆肩就是因为背部没有力量&#xff0c;胸前也没有力量&#xff0c;因为平常没有用到这些肌肉 普拉提会用到小肌肉群&#xff0c;对于体态的纠正会比较好 2、肩背形态其实是发力问题&#xff0c;可以练习&…

springboot优雅shutdown时如何保障异步线程的安全

我前面写了一篇springboot优雅shutdown的文章&#xff0c;看起来一切很美好。 https://blog.csdn.net/chenshm/article/details/139640775 那是因为没有进行多线程测试。如果一个请求中包括阻塞线程&#xff08;主线程&#xff09;和非阻塞线程&#xff08;异步线程&#xff09…

“二分图匹配策略:匈牙利算法详解与应用实践“

二分图的最大匹配 给定一个二分图&#xff0c;其中左半部包含 &#x1d45b;1 个点&#xff08;编号 1∼&#x1d45b;1&#xff09;&#xff0c;右半部包含&#x1d45b;2 个点&#xff08;编号1∼&#x1d45b;2&#xff09;&#xff0c;二分图共包含 &#x1d45a; 条边。 …

ollama 多模态llava图像识别理解模型使用

参考: https://llava-vl.github.io/ https://ollama.com/blog/vision-models https://blog.csdn.net/weixin_42357472/article/details/137666022 下载: ollama run llava:13bcli使用 图片地址前面空格就行 describe this image: /ai/a1.jpg

最新版点微同城源码34.7+全套插件+小程序前后端(含安装教程)

模板挺好看的 带全套插件 自己耐心点配置一下插件 可以H5可以小程序 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89394996 更多资源下载&#xff1a;关注我。

维度建模中的事实表设计原则

维度建模是一种数据仓库设计方法&#xff0c;其核心是围绕业务过程建立事实表和维度表。事实表主要存储与业务过程相关的度量数据&#xff0c;而维度表则描述这些度量数据的属性。 以下是设计事实表时需要遵循的几个重要原则&#xff0c;来源于《维度建模》那本书上&#xff0…

正解 x86 Linux 内存管理

1&#xff0c;机器解析的思路 发现网络上大量的教程&#xff0c;多是以讹传讹地讲解 Linux 内存管理&#xff1b; 都是在讲&#xff1a; 逻辑地址 -> 线性地址 -> 物理地址 这个转换关系是怎么发生的。 上面这个过程确实是程序运行时地址的翻译顺序&#xff1b; …

Java课程设计:基于Javaweb的校园订餐系统

文章目录 一、项目介绍二、项目技术栈三、核心代码四、项目展示五、源码获取 一、项目介绍 在当今互联网高速发展的时代,大学校园内的学生生活正在发生着翻天覆地的变化。其中,校园内的餐饮服务无疑是亟需改革和创新的领域之一。 传统的校园食堂模式,往往存在就餐高峰时段拥挤…

[Cloud Networking] SPDY 协议

文章目录 1. 背景2. SPDY 之前3. SPDY 项目目标4. SPDY 功能特点4.1 SPDY基本功能4.2 SPDY高级功能 1. 背景 TCP是通用的、可靠的传输协议&#xff0c;提供保证交付、重复抑制、按顺序交付、流量控制、拥塞避免和其他传输特性。 HTTP是提供基本请求/响应语义的应用层协议。 不…

ubuntu 22.04下载和安装

ubuntu镜像: https://www.releases.ubuntu.com/22.04/ 然后下载vmwareworkstation16 密钥 ZF3R0-FHED2-M80TY-8QYGC-NPKYF

fiddler打开后,requests无法使用

Fiddler实用小技巧 错误情况 打开fiddler后&#xff0c;requests无法请求 requests.exceptions.ProxyError: HTTPSConnectionPool(hosth5api.m.taobao.com, port443): 说明 其实这是一个很小的坑&#xff0c;确也是一个很常见的坑。 在打开fiddler后&#xff0c;根据fiddle…

Linux笔记--ubuntu文件目录+命令行介绍

文件目录 命令行介绍 当我们在ubuntu中命令行处理位置输入ls后会显示出其所有目录&#xff0c;那么处理这些命令的程序就是shell&#xff0c;它负责接收用户的输入&#xff0c;并根据输入找到其他程序并运行 命令行格式 linux的命令一般由三部分组成&#xff1a;command命令、…

Cheat Engine CE v7.5 安装教程(专注于游戏的修改器)

前言 Cheat Engine是一款专注于游戏的修改器。它可以用来扫描游戏中的内存&#xff0c;并允许修改它们。它还附带了调试器、反汇编器、汇编器、变速器、作弊器生成、Direct3D操作工具、系统检查工具等。 一、下载地址 下载链接&#xff1a;http://dygod/source 点击搜索&…

微信小程序毕业设计-实验室管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

为什么用SDE(随机微分方程)来描述扩散过程【论文精读】

为什么用SDE(随机微分方程)来描述扩散过程【论文精读】 B站视频&#xff1a;为什么用SDE(随机微分方程)来描述扩散过程 论文&#xff1a;Score-Based Generative Modeling through Stochastic Differential Equations 地址&#xff1a;https://doi.org/10.48550/arXiv.2011.13…

读AI新生:破解人机共存密码笔记02进化

1. 人工智能的标准模型 1.1. 机器优化人类提供的固定目标 1.1.1. 是一条死胡同 1.1.1.1. 当你走进死胡同时&#xff0c;你最好掉头返回&#xff0c;找出走错的地方 1.2. 问题不在于我们可能无法做好构建人工智能系统的工作&…

LeetCode --- 401周赛

题目列表 3178. 找出 K 秒后拿着球的孩子 3179. K 秒后第 N 个元素的值 3180. 执行操作可获得的最大总奖励 I 3181. 执行操作可获得的最大总奖励 II 一、找出K秒后拿着球的孩子 这题可以直接模拟&#xff0c;从前往后&#xff0c;再从后往前走k次&#xff0c;最后直接返回…

小红书教程简化版,从0开始走向专业,小红书-主理人培养计划 (13节)

课程目录 1-小红书分析与拆解.mp4 2-小红书电商玩法.mp4 3-小红书基础信息设置10_1.mp4 4-小红书如何开店&#xff1f;.mp4 5-小红书店铺设置&#xff08;1&#xff09;.mp4 5-小红书店铺设置.mp4 6-小红书笔记制作与产品发布.mp4 7-小红书运营的文案与标题.mp4 8-小红…

网络编程(二)TCP

一、TCP网络编程 网络编程模型&#xff1a; C/S模型&#xff1a;客户端服务器模型 优点&#xff1a; 客户端可以缓存一些数据&#xff0c;使用时直接在本地读取&#xff0c;无需每次重新下载&#xff1b; 由于客户端和服务器都是自己开发的&#xff0c;可以自定义协议 缺点&a…