当前位置:首页 > CSS

css制作滴水动画

2026-01-28 18:00:40CSS

使用CSS制作滴水动画

CSS可以通过关键帧动画和变形效果模拟水滴下落的动态过程。以下是两种常见实现方式:

方法一:纯CSS水滴动画

通过@keyframes定义水滴下落、扩散和消失的动画序列:

.drop {
  width: 20px;
  height: 20px;
  background: #3498db;
  border-radius: 50%;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  animation: drip 2s infinite;
}

@keyframes drip {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  50% {
    transform: translateY(100px) scale(0.8);
  }
  100% {
    transform: translateY(200px) scale(0);
    opacity: 0;
  }
}

方法二:水滴+涟漪效果

增加水波纹扩散效果增强真实感:

.water-drop {
  position: relative;
  width: 100px;
  height: 100px;
}

.drop {
  width: 15px;
  height: 15px;
  background: radial-gradient(circle, #3498db 60%, transparent 70%);
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 50%;
  animation: fall 1.5s linear infinite;
}

.ripple {
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid #3498db;
  border-radius: 50%;
  left: 50%;
  top: 120px;
  opacity: 0;
  animation: spread 1.5s infinite;
}

@keyframes fall {
  to { top: 100px; }
}

@keyframes spread {
  0% { transform: scale(0.2); opacity: 1; }
  100% { transform: scale(4); opacity: 0; }
}

关键参数调整建议

  • 下落速度:修改animation-duration值(单位秒)
  • 水滴大小:调整width/heightscale()
  • 颜色:更改background的色值
  • 延迟效果:对多个水滴元素使用animation-delay
.drop:nth-child(2) {
  animation-delay: 0.3s;
}
.drop:nth-child(3) {
  animation-delay: 0.6s;
}

进阶技巧

  1. 贝塞尔曲线:使用cubic-bezier()优化运动轨迹

    animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
  2. 3D效果:添加透视变形

    transform: translateY(100px) perspective(500px) rotateX(30deg);
  3. SVG结合:用SVG绘制复杂水滴形状,通过CSS控制动画

完整示例需配合HTML结构:

css制作滴水动画

<div class="water-drop">
  <div class="drop"></div>
  <div class="ripple"></div>
</div>

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

相关文章

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成: 选择…

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css怎么制作时钟

css怎么制作时钟

使用CSS制作时钟 通过CSS和少量JavaScript可以创建一个动态时钟。以下是实现方法: HTML结构 <div class="clock"> <div class="…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

vue怎么实现动画

vue怎么实现动画

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,主要依赖内置的 <transition> 和 <transition-group> 组件,结合 CSS 或 JavaS…

css 制作导航

css 制作导航

基础导航栏制作 使用HTML无序列表<ul>和CSS样式创建横向导航栏 <nav> <ul class="navbar"> <li><…