纯css html 真实水滴效果

惯例,不多说直接上图

遵循开源精神,源码就直接放下面了,

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>whater</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

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

    body>div {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    body>div>div {
      position: absolute;
      width: 150px;
      height: 150px;
      background: transparent;
      border-radius: 57% 43% 37% 63% / 45% 52% 48% 55%;
      box-shadow: inset 10px 10px 10px rgba(0, 0, 0, 0.05),
        15px 25px 10px rgba(0, 0, 0, 0.1), 15px 20px 20px rgba(0, 0, 0, 0.05),
        inset -10px -10px 15px rgba(255, 255, 255, 0.9);
    }

    body>div>div::before {
      content: "";
      position: absolute;
      top: 25px;
      left: 35px;
      background: #fff;
      width: 20px;
      height: 20px;
      border-radius: 42% 58% 37% 63% / 40% 43% 57% 60%;
    }

    body>div>div::after {
      content: "";
      position: absolute;
      top: 25px;
      left: 65px;
      background: #fff;
      width: 10px;
      height: 10px;
      border-radius: 57% 43% 37% 63% / 48% 37% 63% 52%;
    }

    body>div>div:nth-child(2) {
      transform: scale(0.5) translate(-200px, 180px);
      border-radius: 64% 36% 42% 58% / 42% 37% 63% 58%;
    }

    body>div>div:nth-child(3) {
      transform: scale(0.5) translate(280px, 10px);
      border-radius: 49% 51% 42% 58% / 56% 47% 53% 44%;
    }

    body>div>div:nth-child(4) {
      transform: scale(0.5) translate(120px, -350px);
      border-radius: 39% 61% 63% 37% / 77% 47% 53% 23%;
    }

    body>div>div:nth-child(5) {
      transform: scale(0.3) translate(20px, -350px);
      border-radius: 37% 63% 64% 36% / 53% 65% 35% 47%;
    }

    body>div>div:nth-child(6) {
      transform: scale(0.7) translate(-150px, -200px);
      border-radius: 37% 63% 64% 36% / 53% 65% 35% 47%;
    }

    body>div>div:nth-child(7) {
      transform: scale(0.4) translate(-400px, -100px);
      border-radius: 37% 63% 64% 36% / 53% 65% 35% 47%;
    }
  </style>
</head>

<body>
  <div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>
</body>

</html>
相关推荐
计算机魔术师9 分钟前
OpenAI 首个踩红线的 AI 模型来了:能自己挖漏洞,但只给少数人用
前端
闲坐含香咀翠10 分钟前
从 132MB 到 25MB:列式存储怎么把 CPU 缓存命中率提上去的
前端·数据结构·性能优化
闲坐含香咀翠20 分钟前
把 AntV S2 列头计算从 O(n²) 降到 O(n):一次开源组件的性能改造
前端·性能优化
闲坐含香咀翠26 分钟前
Worker 常驻 + 零拷贝:postMessage 的结构化克隆算法与 Transferable 的真实代价
前端·性能优化
JunjunZ38 分钟前
Naive UI 虚拟级联选择器适配 Element Plus 风格
前端·javascript·vue.js
ynchyong1 小时前
微信小程序启动顺序遇到的一个坑
前端·微信小程序
用户233376852181 小时前
接口卡死排查实录-缺失return的UB死循环
前端·后端
光影少年2 小时前
如何实现RN 多环境、多渠道打包
前端·react native·react.js
闲坐含香咀翠2 小时前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化