首页 > 其他分享 >请使用CSS3制作一个瀑布的动画

请使用CSS3制作一个瀑布的动画

时间:2025-01-04 10:37:19浏览次数:6  
标签:CSS3 动画 opacity 水滴 water 瀑布 255

制作一个瀑布的动画可以使用多种技术,但在这里,我们将使用 CSS3 的关键帧动画 (@keyframes) 和一些基本的 HTML 结构来模拟瀑布效果。以下是一个简单的示例:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>瀑布动画</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="waterfall">
        <div class="water"></div>
        <div class="water"></div>
        <div class="water"></div>
        <!-- 更多的 .water 元素可以增加瀑布的密集度 -->
    </div>
</body>
</html>

CSS (styles.css)

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #333;
    overflow: hidden; /* 防止滚动 */
}

.waterfall {
    position: relative;
    width: 10px; /* 瀑布的宽度 */
    height: 100vh; /* 瀑布的高度 */
}

.water {
    position: absolute;
    width: 10px; /* 水滴的宽度 */
    height: 100px; /* 水滴的高度 */
    background: linear-gradient(to bottom, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.3) 100%); /* 水滴的颜色和透明度 */
    border-radius: 50px; /* 使水滴呈圆形 */
    animation: flow 2s linear infinite; /* 应用动画 */
}

.water:nth-child(2) { animation-delay: 0.5s; } /* 延迟第二个水滴的动画开始时间 */
.water:nth-child(3) { animation-delay: 1s; }  /* 延迟第三个水滴的动画开始时间 */
/* 可以为更多的 .water 元素添加不同的延迟时间,以增加变化 */

@keyframes flow {
    0% { top: -100px; opacity: 0; } /* 动画开始时,水滴在瀑布顶部且不可见 */
    20% { opacity: 1; } /* 水滴逐渐变为可见 */
    80% { opacity: 1; } /* 水滴保持可见状态 */
    100% { top: 100vh; opacity: 0; } /* 动画结束时,水滴到达瀑布底部且逐渐变为不可见 */
}

这个示例使用 CSS3 的关键帧动画来模拟水滴从瀑布顶部落下到底部的效果。你可以通过调整 .water 元素的数量、大小、颜色和动画参数来自定义瀑布的外观和行为。

标签:CSS3,动画,opacity,水滴,water,瀑布,255
From: https://www.cnblogs.com/ai888/p/18651617

相关文章

  • 前端学习openLayers配合vue3(偏移动画效果,限制范围)
    我们原来的偏移感觉比较生硬,我们来学习一下偏移的动画,先列一下这节的知识点限制经纬度范围和缩放范围(view层)view=newView({center:[114.305469,30.592876],zoom:10,projection:'EPSG:4326',extent:[113.999999,30.25,114.666667,30.833333],//限制地图......
  • 这是一篇很好的互动式文章,Framer Motion 布局动画
      微信搜索【大迁世界】,我会第一时间和你分享前端行业趋势,学习途径等等。本文GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。重现framer的神奇布局动画的指南。到目前为止,我最喜欢Framer......
  • manim边做边学--动画轨迹
    本篇介绍Manim中两个和动画轨迹相关的类,AnimatedBoundary和TracedPath。AnimatedBoundary聚焦于图形边界的动态呈现,能精准控制边界绘制的每一帧,助力我们清晰展示几何图形的搭建流程。TracedPath则擅长实时追踪物体或点的运动轨迹,以直观且动态的方式呈现各类运动路径,为我们分析和......
  • 211. 大学生HTML5期末大作业 ―【 可爱的宠物狗主题网页(22页)】 Web前端网页制作 html5
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强欢迎来到我的CSDN主页!Web前端网页制作、大学生期末大作业、课程设计、毕业设计、网页模版源码、学习资料等,更多优质博客文章......
  • 1. 大学生HTML5期末大作业 ―【香港旅游主题网页(4页)】 Web前端网页制作 html5+css3+
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐一、网页概述本实例应用html5+css3+js:div+css、图片轮翻、搜索等,代码精简。本网页支持如Dreamweaver、HBuild......
  • 737. 大学生HTML5期末大作业 ―【 Bootstrap4横向全屏切换的个人博客响应式网页(1页)
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS3.JS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有各行各业的Web前端网页制作的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这么......
  • 730. 大学生HTML5期末大作业 ―【可爱的草莓熊网站首页(1页)】 Web前端网页制作 html5
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有各行各业的Web前端网页制作的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这么好的......
  • 使用CSS实现一个抛物线小球动画
    要使用CSS实现一个抛物线小球动画,你可以使用@keyframes规则来定义动画的关键帧,并使用animation属性将动画应用到元素上。以下是一个简单的示例,展示如何使用CSS创建一个沿抛物线路径移动的小球动画:HTML结构:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 【WPF学习】第五十四章 关键帧动画
    【WPF学习】第五十四章关键帧动画 到目前为止,看到的所有动画都使用线性插值从起点到终点。但如果需要创建具有多个分段的动画和不规则移动的动画。例如,可能希望创建一个动画,快速地将一个元素滑入到视图中,然后慢慢地将它移到正确位置。可通过创建两个连续的动画,并使用Beg......
  • 【WPF学习】第五十三章 动画类型回顾
    【WPF学习】第五十三章动画类型回顾 创建动画面临的第一个挑战是为动画选择正确的属性。期望的结果(例如,在窗口中移动元素)与需要使用的属性(在这种情况下是Canvas.Left和Canvas.Top属性)之间的关系并不总是很直观。下面是一些指导原则:如果希望使用动画来使元素显示和......