CSS3 border-radius 充电动画 示例

CSS动画:移动端充电效果 阅读详情

HTML:

<div class="container">
    <div class="header"></div>
    <div class="battery">
    </div>
    <div class="battery-copy">
        <div class="g-wave"></div>
        <div class="g-wave"></div>
        <div class="g-wave"></div>
    </div>
</div>

SCSS:

.container {
    position: relative;
    width: 140px;
    margin: auto;
}

.header {
    position: absolute;
    width: 26px;
    height: 10px;
    left: 50%;
    top: 0;
    transform: translate(-50%, -10px);
    border-radius: 5px 5px 0 0;
    background: rgba(255, 255, 255, .88);
}

.battery-copy {
    position: absolute;
    top: 0;
    left: 0;
    height: 220px;
    width: 140px;
    border-radius: 15px 15px 5px 5px;
    overflow: hidden;
}

.battery {
    position: relative;
    height: 220px;
    box-sizing: border-box;
    border-radius: 15px 15px 5px 5px;
    box-shadow: 0 0 5px 2px rgba(255, 255, 255, 0.22);
    background: #fff;
    z-index: 1;
    
    &::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        top: 80%;
        background: linear-gradient(to bottom, #7abcff 0%, #00BCD4 44%, #2196F3 100%);
        border-radius: 0px 0px 5px 5px;
        box-shadow: 0 14px 28px rgba(33, 150, 243, 0), 0 10px 10px rgba(9, 188, 215, 0.08);
        animation: charging 10s linear infinite;
        filter: hue-rotate(90deg);
    }
}

.g-wave {
    position: absolute;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, .8);
    border-radius: 45% 47% 44% 42%;
    bottom: 25px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1;
    animation: move 10s linear infinite;
}

.g-wave:nth-child(2) {
    border-radius: 38% 46% 43% 47%;
    transform: translate(-50%, 0) rotate(-135deg);
}

.g-wave:nth-child(3) {
    border-radius: 42% 46% 37% 40%;
    transform: translate(-50%, 0) rotate(135deg);
}

@keyframes charging {
    50% {
        box-shadow: 0 14px 28px rgba(0, 150, 136, 0.83), 0px 4px 10px rgba(9, 188, 215, 0.4);
    }
    
    95% {
        top: 5%;
        filter: hue-rotate(0deg);
        border-radius: 0 0 5px 5px;
        box-shadow: 0 14px 28px rgba(4, 188, 213, .2), 0 10px 10px rgba(9, 188, 215, 0.08);
    }
    100% {
        top: 0%;
        filter: hue-rotate(0deg);
        border-radius: 15px 15px 5px 5px;
        box-shadow: 0 14px 28px rgba(4, 188, 213, 0), 0 10px 10px rgba(9, 188, 215, 0.4);
    }
}

@keyframes move {
    100% {
        transform: translate(-50%, -160px) rotate(720deg);
    }
}

CSS实现不同状态的电池电量图 使用CSS实现电池不同状态的电量图效果,低电量红色、省电模式橘黄色、正常状态绿色等三种颜色..... 阅读详情

相关推荐

HTML&CSS:炫酷充电加载动画 Loading 实战解析

创建了一个充电加载动画的loading效果。

weixin_52814911的博客 833

css实现炫酷充电动画

一直以来,css实现水流动画是非常困难的,这里通过一些css技巧来实现水流的动画效果,通过电池充电来体现该效果的真实感。

分享互联网的有趣知识~ 5140

CSS3与JavaScript构建的手机电池充电特效

关键帧定义了动画过程中的关键状态,浏览器会在这两个状态之间进行插值计算,从而产生动画效果。定义关键帧时,我们可以使用百分比来指定动画的阶段,from和to关键字分别代表动画的开始和结束,也可以使用0%和100%来表示。在现代Web设计中,圆角边框()是创建视觉吸引力的关键属性之一。该属性允许开发者为任何元素的角添加圆角效果,从而提升界面的美观性和用户体验。不仅适用于简单的图形,也广泛应用于复杂布局的角落设计。它通过向元素添加内边距圆角()来实现视觉上的圆润效果。

weixin_31185473的博客 909

border-radius 实现充电动画

border-radius, 实现充电动画

是程序喵呀 358

基于立创EDA的IP5389BZ+IP6829 100W有线15W无线带屏充电宝DIY全流程解析

本文详细解析了基于立创EDA平台,采用IP5389BZ和IP6829芯片DIY一款100W有线快充、15W无线充电并带显示屏的移动电源的全过程。内容涵盖核心功能规划、硬件选型、电路设计、PCB布局、焊接组装、分步调试以及软件逻辑,为电子爱好者提供了一份从原理到实践的完整指南,并重点强调了电池安全与IP6829供电电压等关键注意事项。

weixin_34374684的博客 307

Matlab+Matpower实战:手把手教你生成IEEE14节点FDIA攻击数据集(附完整代码)

本文提供了一份基于Matlab与Matpower工具构建IEEE14节点FDIA攻击数据集的完整实战指南。通过动态负荷数据模拟、潮流计算、状态估计及隐蔽攻击向量注入,手把手教你生成可用于电力系统网络安全研究的仿真数据集,并附有核心代码与调试技巧。

bean的博客 398

css实现波浪效果border-radius

波浪核心:让border-radius没到50%再滚动起来,再用其覆盖背景,背景设置overflow:hidden; 代码示例: div { position: relative; align-items: center; min-height: 100vh; background-color: rgb(118, 218, 255); overflow: hidden; } div::before, div::after { //生成两个borde

weixin_43294560的博客 2509

开发具有情感分析能力的AI Agent

本文将深入探讨开发具有情感分析能力的AI Agent的各个方面。我们将首先介绍情感分析的基础知识,包括定义、背景和应用领域。接着,我们将详细讲解情感分析的核心概念、数据处理方法和算法原理。随后,文章将展示如何设计情感分析系统架构,并进行项目实战,包括环境安装、源代码实现和案例分析。最后,我们将总结最佳实践和注意事项,为读者提供进一步学习的资源。情感分析(Sentiment Analysis),也称为意见挖掘,是自然语言处理(NLP)的一个分支。

SuperAGI2025 1146

【css3实现华为充电】那些你没想到的CSS效果之华为充电效果(附源码下载)

CSS3特效,华为充电特效实现,CSS属性filter的应用,after,before伪元素的灵活应用。CSS3实现华为充电动态效果,CSS气泡动态特效

赏樱看雪撸代码 994

双目摄像头全景解析:从几何光学到深度智能

双目视觉系统基于仿生学原理,通过水平排列的双摄像头模拟人眼视差机制实现三维感知。其核心是通过标定、校正、匹配等算法流程,将视差转换为深度信息,最终生成三维点云。该系统在自动驾驶、机器人导航、工业检测等领域有广泛应用,但面临弱纹理、重复图案等挑战。未来发展趋势包括与事件相机、深度学习等技术的融合,进一步提升精度和动态性能。

reset2021的博客 120

Unreal Engine开发:多人联机与网络同步_延迟补偿与预测

通过延迟补偿和预测技术,我们可以显著减少网络延迟对多人在线动作游戏的影响,提升玩家的体验。延迟补偿主要在服务器端实现,通过回溯时间点来更准确地处理输入和事件。预测技术主要在客户端实现,通过预先计算玩家的动作结果来减少延迟感。结合这两种技术,可以实现更平滑、更公平的多人游戏体验。

chenlz2007的博客 1191

充电球动画

* 在此之前加内容::before是CSS3的写法 ,:before是CSS2的写法*//* 去掉所有元素的内外边框 *//* 圆角矩形旋转上升的动画 *//* 调用动画 *//* 圆角矩形 */

wenhui228520的博客 127

一文读懂AI协同办公领域发展和趋势

协同办公,又称OA,是指企业内部或外部各类人员之间利用信息技术来进行协作工作的一种形式。这种协作工作既可以由直接员工进行,也可以来自外部的咨询机构、合作伙伴或联营企业。协同办公的优势在于可以对资源进行有效管理和配置,各部门之间可以建立良好的协作关系,跨部门更好地实现资源共享。

女王の专属领地 2361

使用 animation实现几个小案列

学习了animation发现它真的好玩,以前写动画必须要JS才能完成,JS复杂性高,需要对DOM频繁操作会导致页面重绘重新排版,造成阻塞。虽然这里说了JS的缺点但是它也有它的优点,今天不作细讲(请看下回分解)。 今天主要用animation来实现几个小动画。 一、安卓手机充电效果 这个图都不陌生吧,今天将用代码来实现它! 首先写这个需要那些元素: 最外层div :g-container 装充电...

qq_44820039的博客 396

22、嵌入式软件随机延迟生成与加密算法防护技术

本文探讨了嵌入式软件中的随机延迟生成方法与块密码软件实现的高阶掩码及洗牌技术。重点介绍了浮动均值延迟生成方法,其在8位AVR平台上的实现效率为Θ(1),显著提升了抗相关功率分析(CPA)攻击的能力,相比传统方法更安全且轻量。同时,分析了高阶掩码与洗牌技术结合的方案,通过理论建模量化其对高级差分功率分析(DPA)攻击的抵抗能力,并以AES为例展示了该方案的应用流程。最后对比了不同防护技术在安全性与开销之间的权衡,为实际应用中选择合适的安全策略提供了依据。未来可进一步优化实现效率并融合多种防护手段以应对复杂安全

fern8的博客 88

lammps教程:in文件结构详解以及一个比较实用的in文件模板

lammps软件只是一个求解器,没有可视化的前处理和后处理软件,所有的命令只能通过代码的方式输入到求解器进行求解计算。 所有的命令都被写到一个称为“in”的文件里,对于初学者来说,熟悉in文件的编写是一个难点。 in文件其实就是一个文本文档,也没有要求文件名或者后缀名中必须带有“in”字样,用任何文件名均可运行。 in文件里的代码是按照编写的顺序进行解释执行,对于大部分命令行来说,前后顺序影响并不是很大,但是,对于一些命令,在执行过程中需要某个参数,则这个参数的定义和计算必须写在命令执行之前。 例如,对晶体

lammps_jiayou的博客 2万+

SingleDivProject核心原理揭秘:CSS伪元素与渐变的魔法组合

SingleDivProject是一个令人惊叹的CSS创意项目,它展示了一个简单的HTML `<div>`元素如何通过CSS伪元素和渐变技术创造出无限可能。这个项目不仅是CSS技巧的终极展示,更是学习现代CSS技术的完整指南。在本文中,我们将深入探讨这个项目的核心原理,揭开CSS伪元素与渐变魔法组合的秘密。 ## 什么是SingleDivProject? 🎨 SingleDivProject

gitblog_01149的博客 662

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

dotfiles实战:Waybar状态栏的完全自定义与美化指南

GitHub 加速计划的 dotfiles122 项目为 Arch Linux 用户提供了基于 Hyprland 和 Waybar 的精美桌面环境配置。本文将带你掌握 Waybar 状态栏的自定义技巧,通过简单配置打造既美观又实用的个性化状态栏。 ## 为什么选择 Waybar? Waybar 作为一款高度可定制的状态栏工具,完美适配 Hyprland 等 Wayland 合成器。它支持模块化

gitblog_00636的博客 513

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ArcGIS JS 基础教程(20):IntegratedMeshLayer 实景网格图层

ArcGIS JS 基础教程(20):IntegratedMeshLayer 实景网格图层。

非科班Java出身GISer的博客 412

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ArcGIS JS 基础教程(16):禁用视图交互

ArcGIS JS 基础教程(16):禁用视图交互。

非科班Java出身GISer的博客 377

ArcGIS JS 基础教程(19):3D Tiles 图层

ArcGIS JS 基础教程(19):3D Tiles 图层。

非科班Java出身GISer的博客 452

ArcGIS JS 基础教程(11):飞行定位 goTo

ArcGIS JS 基础教程(11):飞行定位 goTo。

非科班Java出身GISer的博客 711

ArcGIS JS 基础教程(18):SceneLayer 场景图层

ArcGIS JS 基础教程(18):SceneLayer 场景图层。

非科班Java出身GISer的博客 425

ArcGIS JS 基础教程(24):VectorTileLayer 矢量切片图层

ArcGIS JS 基础教程(24):VectorTileLayer 矢量切片图层。

非科班Java出身GISer的博客 339

ArcGIS JS 基础教程(21):PointCloudLayer 点云图层

ArcGIS JS 基础教程(21):PointCloudLayer 点云图层。

非科班Java出身GISer的博客 481

ArcGIS JS 基础教程(17):GraphicsLayer 图形图层(点线面、Mesh)

ArcGIS JS 基础教程(17):GraphicsLayer 图形图层(点线面、Mesh)。

非科班Java出身GISer的博客 527
上一篇: 仿 Twitter 点赞爱心动画效果 其中用到 animation
下一篇: 一个简单的h5页面实现img元素onlongpress长按事件
hackchen
博客等级 码龄19年 193粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值