CSS实现水滴样式

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div class="water-drop-animated"></div>

    <style>
      body {
        background-color: #f0f2f5;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        margin: 0;
      }

      .water-drop-animated {
        width: 200px;
        height: 200px;
        background-color: #f0f2f5;

        /* 初始形状稍微不规则一点 */
        border-radius: 50%;

        /* 保持之前的拟态阴影 */
        box-shadow: 20px 20px 60px #d1d9e6, -20px -20px 60px #ffffff,
          inset 10px 10px 20px rgba(0, 0, 0, 0.05),
          inset -10px -10px 20px rgba(255, 255, 255, 0.5);

        /* 绑定动画:持续 4 秒,无限循环,平滑过渡 */
        animation: liquid 4s ease-in-out infinite;
        position: relative;
      }

      /* 模拟顶部高光点,让它随水滴一起动 */
      .water-drop-animated::after {
        content: "";
        position: absolute;
        top: 25%;
        left: 25%;
        width: 25px;
        height: 15px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 50%;
        filter: blur(2px);
        transform: rotate(-45deg);
      }

      /* 定义形状变化的动画 */
      @keyframes liquid {
        0%,
        100% {
          border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
          transform: translate(0, 0) rotate(0deg);
        }
        33% {
          /* 变成稍微扁圆的状态 */
          border-radius: 60% 40% 55% 45% / 45% 55% 45% 55%;
          transform: translate(5px, -5px) rotate(2deg);
        }
        66% {
          /* 变成稍微拉长的状态 */
          border-radius: 45% 55% 40% 60% / 55% 45% 60% 40%;
          transform: translate(-5px, 5px) rotate(-2deg);
        }
      }
    </style>
  </body>
</html>
相关推荐
韭菜炒大葱2 小时前
TailwindCSS:从“样式民工”到“UI乐高大师”的逆袭
前端·面试·编程语言
C_心欲无痕2 小时前
vue3 - watchEffect对响应式副作用进行管理
前端·javascript·vue.js
阿星AI工作室2 小时前
破防了!阿星一年用AI撸了50个项目,这10条避坑经验你必须知道
前端·人工智能
KoalaShane2 小时前
Web 3D设计[Three.js]关于右键点击Canvas旋转模型,在其他元素上触发右键菜单问题
前端·javascript·3d
借个火er2 小时前
React 19 源码全景图:从宏观到微观
前端
张清悠2 小时前
CSS引入外部第三方字体
前端·javascript·css
追逐梦想之路_随笔2 小时前
手撕Promise,实现then|catch|finally|all|allSettled|race|any|try|resolve|reject等方法
前端·javascript
张较瘦_2 小时前
前端 | 吃透CSS视觉特效:圆角、渐变、动画与变换核心解析
前端·css
Tzarevich2 小时前
Tailwind CSS:原子化 CSS 的现代开发实践
前端·javascript·css