如何用HTML+CSS实现水滴效果的充电特效
Admin 2022-06-16 群英技术资讯 456 次浏览
这个思路是我在b站看up主Steven做的,觉得很不错,然后自己也弄了一个。(纯css)
定义标签,有三个水滴盒子,一个圆圈盒子显示数字,一个最底层盒子:
<div class="kuang"> <div class="droplet"></div> <div class="droplet"></div> <div class="droplet"></div> <div class="quan"></div> <span>99%</span> </div>
给最底层盒子基本的样式。flex布局,这样3个水滴暂时会垂直居中排列。
.kuang{ position: relative; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: rgb(5,5,5); filter: contrast(30); }
filter: contrast(30);调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。
水滴的基本样式。绝对定位,这样3个盒子会重叠一起。
.droplet{ position: absolute; width: 100px; height: 100px; border-radius: 50%; background-color: rgb(61, 233, 99); filter: blur(20px); animation: fall 3s linear infinite; opacity: 0; }
filter: blur(20px);给图像设置模糊。
重点:我们给水滴盒子模糊度,这然三个水滴盒子会呈现一种模糊的状态。继而,我们给底层盒子设置图像对比度,这样模糊的图片会重新绘制轮廓,而得到下面的效果:
给要显示数字的圆圈基本样式。记住也要设置模糊度。这样在图像对比度下才会有与下落的水滴有融合的效果。
.quan{ position: absolute; width: 100px; height: 100px; border-radius: 50%; background-color: rgb(61, 233, 99); filter: blur(20px); animation: zhuan 3s infinite; }
给水滴设置动画,让它们从上往下落下,期间大小发生变化,这些可以自己慢慢调试,设置成自己认为最好的效果。
@keyframes fall{ 0%{ opacity: 0; transform: scale(0.8) translateY(-500%); } 50%{ opacity: 1; transform: scale(0.5) translateY(-100%) ; } 100%{ transform: scale(0.3) translateY(0px); } }
第2和和第3个水滴延迟时间后再播放动画,这样3个水滴才会分开下落,至于几秒可以自己慢慢调试,设置成自己认为最好的效果。
.kuang div:nth-of-type(2){ animation-delay: 1.5s; } .kuang div:nth-of-type(3){ animation-delay: 2s; }
给显示数字的圆圈动画效果,让它转起来。期间可以让它大小或角度发生或其它变化,具体数值可以自己慢慢调试,设置成自己认为最好的效果。
@keyframes zhuan{ 0%{ transform: scale(1) rotate(0deg); } 50%{ transform: scale(1.1) rotate(180deg); height: 90px; border-top-left-radius: 45%; border-bottom-left-radius: 48%; } 100%{ transform:scale(1) rotate(360deg); } }
完整代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>北极光之夜。</title> <style> *{ margin: 0; padding: 0; box-sizing: border-box; } .kuang{ position: relative; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: rgb(5,5,5); filter: contrast(30); } .droplet{ position: absolute; width: 100px; height: 100px; border-radius: 50%; background-color: rgb(61, 233, 99); filter: blur(20px); animation: fall 3s linear infinite; opacity: 0; } .kuang div:nth-of-type(2){ animation-delay: 1.5s; } .kuang div:nth-of-type(3){ animation-delay: 2s; } @keyframes fall{ 0%{ opacity: 0; transform: scale(0.8) translateY(-500%); } 50%{ opacity: 1; transform: scale(0.5) translateY(-100%) ; } 100%{ transform: scale(0.3) translateY(0px); } } .quan{ position: absolute; width: 100px; height: 100px; border-radius: 50%; background-color: rgb(61, 233, 99); filter: blur(20px); animation: zhuan 3s infinite; } @keyframes zhuan{ 0%{ transform: scale(1) rotate(0deg); } 50%{ transform: scale(1.1) rotate(180deg); height: 90px; border-top-left-radius: 45%; border-bottom-left-radius: 48%; } 100%{ transform:scale(1) rotate(360deg); } } span{ position: absolute; color: rgb(184, 182, 182); font-size: 26px; font-family: 'fangsong'; font-weight: bold; } </style> </head> <body> <div class="kuang"> <div class="droplet"></div> <div class="droplet"></div> <div class="droplet"></div> <div class="quan"></div> <span>99%</span> </div> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
将原本的鼠标指针样式,修改成自己想要的效果,并且添加上一些特殊的交互效果。修改鼠标样式首先,第一个问题,我们可以看到,上图中,鼠标指针的样式被修改成了一个圆点:正常而言应该是
今天小编给大家分享3种方法实现CSS隐藏滚动条并可以滚动内容,我已经在很多地方使用了非常不错,需要的朋友参考下吧
这篇文章主要介绍了HTML Table 空白单元格补全的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
用H5怎样写一个简单的2048游戏?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
在css中,可以利用filter属性给图片添加模糊层效果,该属性的作用就是设置元素的可视效果,当该属性与“blur()”函数一起使用时,可以给图片添加模糊效果,语法为“图片元素{filter:blur(模糊值px);}”。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008