当前位置:首页 > CSS

css制作滴水动画

2026-04-01 21:17:28CSS

使用CSS制作滴水动画

通过CSS的@keyframestransform属性可以模拟水滴下落的动画效果。以下是实现方法:

HTML结构

<div class="container">
  <div class="drop"></div>
  <div class="ripple"></div>
</div>

CSS动画代码

css制作滴水动画

.container {
  position: relative;
  width: 200px;
  height: 200px;
}

.drop {
  width: 20px;
  height: 20px;
  background: #00a8ff;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 90px;
  animation: drop 1.5s cubic-bezier(0.4, 0, 1, 1) infinite;
}

.ripple {
  width: 20px;
  height: 20px;
  background: rgba(0, 168, 255, 0.5);
  border-radius: 50%;
  position: absolute;
  top: 30px;
  left: 90px;
  animation: ripple 1.5s cubic-bezier(0.4, 0, 1, 1) infinite;
}

@keyframes drop {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  80% {
    transform: translateY(100px);
    opacity: 1;
  }
  100% {
    transform: translateY(120px);
    opacity: 0;
  }
}

@keyframes ripple {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(10);
    opacity: 0;
  }
}

优化滴水效果

为了使水滴效果更逼真,可以添加以下改进:

添加水滴拉伸效果

css制作滴水动画

@keyframes drop {
  0% {
    transform: translateY(0) scaleY(1);
  }
  50% {
    transform: translateY(50px) scaleY(0.8);
  }
  80% {
    transform: translateY(100px) scaleY(1.2);
  }
  100% {
    transform: translateY(120px) scaleY(0);
  }
}

添加多个涟漪效果

<div class="container">
  <div class="drop"></div>
  <div class="ripple ripple1"></div>
  <div class="ripple ripple2"></div>
</div>
.ripple1 {
  animation-delay: 0.2s;
}

.ripple2 {
  animation-delay: 0.4s;
}

使用CSS变量控制参数

通过CSS变量可以更方便地调整动画参数:

:root {
  --drop-size: 20px;
  --drop-color: #00a8ff;
  --animation-duration: 1.5s;
}

.drop {
  width: var(--drop-size);
  height: var(--drop-size);
  background: var(--drop-color);
  /* 其余样式保持不变 */
}

这种方法可以轻松修改水滴大小、颜色和动画速度,而无需修改关键帧定义。

标签: 动画css
分享给朋友:

相关文章

vue哪个组件实现动画

vue哪个组件实现动画

在Vue中实现动画效果可以通过多种方式,以下是常用的组件和方法: Vue内置过渡组件 Vue提供了<transition>和<transition-group>组件,用于处理…

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css网页制作教程下载

css网页制作教程下载

CSS网页制作教程下载资源推荐 免费在线教程平台 W3Schools(www.w3schools.com/css/)提供交互式CSS教程,涵盖基础到高级内容,支持在线练习。 MDN Web Docs(…

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css导航制作

css导航制作

水平导航栏制作 使用无序列表 <ul> 和 <li> 标签构建基础结构,通过 CSS 移除默认样式并设置横向排列: <ul class="horizontal-nav"…