[前端] html+css实现充电水滴融合特效代码

1809 0
Honkers 2022-10-19 15:48:54 | 显示全部楼层 |阅读模式
目录

    前言:实现:总结:

先看效果:



前言:

这个思路是我在b站看up主Steven做的,觉得很不错,然后自己也弄了一个。(纯css)

实现:

定义标签,有三个水滴盒子,一个圆圈盒子显示数字,一个最底层盒子:
  1. <div class="kuang">
  2.       <div class="droplet"></div>
  3.       <div class="droplet"></div>
  4.       <div class="droplet"></div>
  5.       <div class="quan"></div>
  6.       <span>99%</span>
  7.    </div>
复制代码
给最底层盒子基本的样式。flex布局,这样3个水滴暂时会垂直居中排列。
  1. .kuang{
  2.             position: relative;
  3.             height: 100vh;
  4.             display: flex;
  5.             flex-direction: column;
  6.             justify-content: center;
  7.             align-items: center;
  8.             background-color: rgb(5,5,5);
  9.             filter: contrast(30);
  10.         }
复制代码
filter: contrast(30);调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。
水滴的基本样式。绝对定位,这样3个盒子会重叠一起。
  1. .droplet{
  2.            position: absolute;
  3.             width: 100px;
  4.             height: 100px;
  5.             border-radius: 50%;
  6.             background-color: rgb(61, 233, 99);
  7.             filter: blur(20px);
  8.             animation: fall 3s linear infinite;
  9.             opacity: 0;
  10.         }
复制代码
filter: blur(20px);给图像设置模糊。
重点:我们给水滴盒子模糊度,这然三个水滴盒子会呈现一种模糊的状态。继而,我们给底层盒子设置图像对比度,这样模糊的图片会重新绘制轮廓,而得到下面的效果:


给要显示数字的圆圈基本样式。记住也要设置模糊度。这样在图像对比度下才会有与下落的水滴有融合的效果。
  1. .quan{
  2.             position: absolute;
  3.             width: 100px;
  4.             height: 100px;
  5.             border-radius: 50%;
  6.             background-color: rgb(61, 233, 99);
  7.             filter: blur(20px);
  8.             animation: zhuan 3s  infinite;
  9.         }
复制代码
给水滴设置动画,让它们从上往下落下,期间大小发生变化,这些可以自己慢慢调试,设置成自己认为最好的效果。
  1. @keyframes fall{
  2.             0%{
  3.                 opacity: 0;
  4.                 transform:  scale(0.8) translateY(-500%);               
  5.             }
  6.             50%{
  7.                 opacity: 1;
  8.                 transform: scale(0.5) translateY(-100%) ;
  9.             }
  10.             100%{
  11.                    transform: scale(0.3) translateY(0px);
  12.             }
  13.         }
复制代码
第2和和第3个水滴延迟时间后再播放动画,这样3个水滴才会分开下落,至于几秒可以自己慢慢调试,设置成自己认为最好的效果。
  1. .kuang div:nth-of-type(2){
  2.             animation-delay: 1.5s;
  3.         }
  4.         .kuang div:nth-of-type(3){
  5.             animation-delay: 2s;
  6.         }
复制代码
给显示数字的圆圈动画效果,让它转起来。期间可以让它大小或角度发生或其它变化,具体数值可以自己慢慢调试,设置成自己认为最好的效果。
  1. @keyframes zhuan{
  2.             0%{
  3.               transform: scale(1) rotate(0deg);
  4.             }
  5.             50%{
  6.                 transform: scale(1.1) rotate(180deg);
  7.                 height: 90px;
  8.                 border-top-left-radius: 45%;
  9.                 border-bottom-left-radius: 48%;
  10.             }
  11.             100%{
  12.                 transform:scale(1) rotate(360deg);
  13.             }
  14.         }
复制代码
完整代码:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>北极光之夜。</title>
  7.     <style>
  8.         *{
  9.             margin: 0;
  10.             padding: 0;
  11.             box-sizing: border-box;
  12.         }
  13.         .kuang{
  14.             position: relative;
  15.             height: 100vh;
  16.             display: flex;
  17.             flex-direction: column;
  18.             justify-content: center;
  19.             align-items: center;
  20.             background-color: rgb(5,5,5);
  21.             filter: contrast(30);
  22.         }
  23.         .droplet{
  24.            position: absolute;
  25.             width: 100px;
  26.             height: 100px;
  27.             border-radius: 50%;
  28.             background-color: rgb(61, 233, 99);
  29.             filter: blur(20px);
  30.             animation: fall 3s linear infinite;
  31.             opacity: 0;
  32.         }
  33.         .kuang div:nth-of-type(2){
  34.             animation-delay: 1.5s;
  35.         }
  36.         .kuang div:nth-of-type(3){
  37.             animation-delay: 2s;
  38.         }
  39.         @keyframes fall{
  40.             0%{
  41.                 opacity: 0;
  42.                 transform:  scale(0.8) translateY(-500%);               
  43.             }
  44.             50%{
  45.                 opacity: 1;
  46.                 transform: scale(0.5) translateY(-100%) ;
  47.             }
  48.             100%{
  49.                    transform: scale(0.3) translateY(0px);
  50.             }
  51.         }
  52.         .quan{
  53.             position: absolute;
  54.             width: 100px;
  55.             height: 100px;
  56.             border-radius: 50%;
  57.             background-color: rgb(61, 233, 99);
  58.             filter: blur(20px);
  59.             animation: zhuan 3s  infinite;
  60.         }
  61.         @keyframes zhuan{
  62.             0%{
  63.               transform: scale(1) rotate(0deg);
  64.             }
  65.             50%{
  66.                 transform: scale(1.1) rotate(180deg);
  67.                 height: 90px;
  68.                 border-top-left-radius: 45%;
  69.                 border-bottom-left-radius: 48%;
  70.             }
  71.             100%{
  72.                 transform:scale(1) rotate(360deg);
  73.             }
  74.         }
  75.       span{
  76.           position: absolute;
  77.           color: rgb(184, 182, 182);
  78.           font-size: 26px;
  79.           font-family: 'fangsong';
  80.           font-weight: bold;
  81.       }
  82.     </style>
  83. </head>
  84. <body>
  85.     <div class="kuang">
  86.       <div class="droplet"></div>
  87.       <div class="droplet"></div>
  88.       <div class="droplet"></div>
  89.       <div class="quan"></div>
  90.       <span>99%</span>
  91.    </div>
  92. </body>
  93. </html>
复制代码
总结:

到此这篇关于html+css实现充电水滴融合特效代码的文章就介绍到这了,更多相关html 水滴融合内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章,希望大家以后多多支持中国红客联盟!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行