美文网首页
CSS+HTML<手机充电黏黏球效果>

CSS+HTML<手机充电黏黏球效果>

作者: 三省吾身_9862 | 来源:发表于2020-05-11 17:31 被阅读0次

原文链接:https://www.jianshu.com/p/e6f8dace99ed

效果图:
image

🎈如果想单纯的实现这种效果,其实使用CSS中的对比度和模糊度就能实现(效果不佳)🙃
点击查看参考地址

 filter: contrast(20); //对比度
 filter: blur(10px); //模糊度

🎈此处有用到svg滤镜效果,同等与以上效果(推荐使用) 👍
点击此处查看简单用法

🎈这篇文章有一个比较生的css属性 mask,主要用于圆形剪切用,不太懂得可自行百度,用处不是太大。

 /* 从中心向外剪切圆,相当于掏空 */
  -webkit-mask: radial-gradient(transparent 95px, white 0px);

🎈在css中有设置全局配色,可通过此处直接改变主题色

 /* 全局配色 */
 --c: rgb(47, 224, 100);

image

效果亲测有效 👍,电脑端和移动端完美运行,绝对流畅 ~~~~~ 🎐🎐🎐🎐

代码如下:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body,
        html {
            height: 100%;
        }

        body {
            margin: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            /* 全局配色 */
            --c: rgb(47, 224, 100);
        }

        #box {
            width: 300px;
            height: 600px;
            position: relative;
            /* 背景色 */
            /* background: #f7f6f6; */
            overflow: hidden;
            padding: 50px 0;
            box-sizing: border-box;
            ;
        }

        .box {
            width: 100%;
            height: 100%;
            position: absolute;
            display: flex;
            justify-content: center;
            /* 此处尽量不要设置背景色,可以选择在父标签上设置背景色,否则没有黏黏的效果 */
            filter: url("#goo");
        }

        /* 电量文字 */
        .text {
            font-weight: 200;
            font-size: 30px;
            margin-top: 100px;
        }

        /* 电量文字 */
        .text span {
            font-size: 15px;
        }

        /* 顶部的两个旋转小球 */
        .top_ball {
            width: 200px;
            height: 200px;
            border-radius: 35%;
            opacity: 0.5;
            position: absolute;
            top: 20px;
            z-index: 10;
            /* 从中心向外剪切圆,相当于掏空 */
            -webkit-mask: radial-gradient(transparent 95px, white 0px);
        }

        /* 顶部的两个旋转小球 */
        .top_ball.one {
            background: var(--c);
            animation: ballZhuan 5s linear infinite;
        }

        /* 顶部的两个旋转小球 */
        .top_ball.two {
            background: var(--c);
            animation: ballZhuan 8s linear infinite;
        }

        @keyframes ballZhuan {
            100% {
                transform: rotate(360deg);
            }
        }

        /* 底部的小球 */
        .dot {
            display: block;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: var(--c);
            position: absolute;
            z-index: -1;
            bottom: -50px;
        }

        .dot:nth-of-type(1) {
            width: 40px;
            height: 40px;
            right: 100px;
            animation: dotMove 5s linear infinite;
        }

        .dot:nth-of-type(2) {
            width: 50px;
            height: 50px;
            left: 100px;
            animation: dotMove 6s linear infinite;
        }

        .dot:nth-of-type(3) {
            animation: dotMove 3s linear infinite;
        }

        .dot:nth-of-type(4) {
            width: 15px;
            height: 15px;
            left: 100px;
            animation: dotMove 2s linear infinite;
        }

        .dot:nth-of-type(5) {
            width: 30px;
            height: 30px;
            animation: dotMove 4s linear infinite;
        }

        @keyframes dotMove {
            0% {
                transform: translateY(0px);
                opacity: 1;
            }

            98% {
                opacity: 1;
            }

            100% {
                transform: translateY(-410px);
                opacity: 0;
            }
        }
    </style>
</head>

<body>
    <div id="box">
        <div class="box">
            <div class="text">99<span>%</span></div>
            <div class="top_ball one"></div>
            <div class="top_ball two"></div>
            <span class="dot"></span>
            <span class="dot"></span>
            <span class="dot"></span>
            <span class="dot"></span>
            <span class="dot"></span>
            <span class="dot"></span>
        </div>
    </div>

    <svg style="width: 0; height: 0;">
        <defs>
            <filter id="shadowed-goo">
                <feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10" />
                <feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 18 -7"
                    result="goo" />
                <feGaussianBlur in="goo" stdDeviation="3" result="shadow" />
                <feColorMatrix in="shadow" mode="matrix" values="0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 -0.2"
                    result="shadow" />
                <feOffset in="shadow" dx="1" dy="1" result="shadow" />
                <feBlend in2="shadow" in="goo" result="goo" />
                <feBlend in2="goo" in="SourceGraphic" result="mix" />
            </filter>
            <filter id="goo">
                <feGaussianBlur in="SourceGraphic" result="blur" stdDeviation="10" />
                <feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  0 0 0 18 -7"
                    result="goo" />
                <feBlend in2="goo" in="SourceGraphic" result="mix" />
            </filter>
        </defs>
    </svg>
</body>

</html>

相关文章

  • CSS+HTML<手机充电黏黏球效果>

    原文链接:https://www.jianshu.com/p/e6f8dace99ed 效果图: ?如果想单纯的实...

  • CSS+HTML<手机充电黏黏球效果>

    效果图: ?此处有用到svg滤镜效果,同等与以上效果(推荐使用) ?点击此处查看简单用法 ?这篇文章有一个比较生的...

  • Vue<黏黏球效果>

    效果图: 如果想单纯的实现这种效果,其实使用CSS中的对比度和模糊度就能实现。 具体怎么实现请参考https://...

  • 黏黏球

    你们知道粘粘球吗? 就是那种一个小球,在胶带上缠呀缠,越来越大的超解压的小球哟。 我今天就买了一个...

  • CSS实现垂直居中的方法

    1、relative+absolute定位: (1)css+html代码 (2)效果 (3)兼容性:兼容全部浏览器...

  • 当手机突然离开生活之后,我们将如何选择?

    这几天手机一直有毛病,充电非常的慢,而且不能够使用快速充电,每次想要达到快速充电的效果,就需要重启手机,而且手机的...

  • Anime+Vue<简单的雨滴打窗效果>

    效果图: ?大佬永远是大佬,总是无法超越,此篇文章是参考以下地址效果,进行实现(这里基本是用的css+html较多...

  • 黏黏黏

    这两天,孩子一直黏着我,很黏,很黏,他都七岁了,都61斤了,还黏着我,每次看到我坐在沙发上,就一屁股坐在我身上,然...

  • 你需要谈一场黏黏黏黏黏黏黏黏黏人的恋爱

    1 在微博上看到的一句话:“喜欢那种,没一会就要问我在干嘛,总和我分享有趣事的人,总是会想起我,让我感觉自己被需要...

  • 移动端touch拖动事件和click事件冲突问题解决

    通过一个悬浮球交互功能的案例来阐述问题,以及解决办法。 实现效果 类似微信里的悬浮窗效果,苹果手机的悬浮球功能效果...

网友评论

      本文标题:CSS+HTML<手机充电黏黏球效果>

      本文链接:https://www.haomeiwen.com/subject/xnfpnhtx.html