使用css3实现【水波纹扩散效果】

使用css3实现【水波纹扩散效果】

在CSS3中,我利用::before和::after伪元素以及动画(animation)来创建一个简单的水波纹扩散效果。下面是一个基础的示例:

c 复制代码
Html
<!DOCTYPE html>
<html lang="zh">
<head>
<style>
.container {
  position: relative;
  overflow: hidden;
}

.wave-effect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  animation: wave 4s ease infinite;
}

@keyframes wave {
  0% {transform: translateX(0); background-position: 0 0;}
  50% {background-position: 100px 0; transform: translateX(-50px);}
  100% {background-position: 0 0; transform: translateX(0);}
}
</style>
</head>
<body>

<div class="container">
  <div class="wave-effect"></div>
</div>

</body>
</html>

.wave-effect容器设置了绝对定位,并给它的背景设置了一个线性渐变,同时应用了一个名为wave的动画,模拟了水波向右平移然后回溯的效果。

如何让水波纹扩散到整个屏幕之外的部分?

如果想要让水波纹扩散到屏幕之外,你可以通过改变动画的触发点来实现。在上述示例中,我们使用了transform: translateX(-50%),这会让动画从屏幕中心开始。如果你想让它从屏幕边缘开始扩散,比如底部边缘,你可以调整CSS中的值。

例如,如果你想让波纹从底部扩散并溢出屏幕,可以修改.wave-effect的transform属性,将其改为transform: translateY(-100%),这样当动画运行时,它会从屏幕底部向上移动。然后为了确保背景图像是溢出屏幕的,你需要将height设为 100vh(视口高度),以占据整个可视区域。

以下是相应的CSS部分修改后的代码:

c 复制代码
Css
.wave-effect {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh; /* 使用视口高度 */
  background-color: rgba(0, 0, 0, 0.1);
  animation: wave 4s ease infinite;
  transform: translateY(-100%);
}
相关推荐
小林ixn几秒前
React + TypeScript 实战:从“类型体操”到“数据持久化”,一次讲透组件通信与副作用管理
前端·react.js·typescript
何时梦醒几秒前
React + TypeScript 企业级开发实战:从零搭建到组件架构演进
前端·react.js·全栈
Coffeeee2 分钟前
AGP9.0的主要变更项,给Gradle来一次大变样
android·前端·gradle
数聚天成DeepSData17 分钟前
外贸海关进出口数据去哪免费下载?从统计到明细的查找指南
linux·服务器·开发语言·前端·网络·人工智能·自然语言处理
半夜里咳嗽的狼22 分钟前
组件进侧栏就变形?用 CSS Container Queries 把响应式边界收回组件
前端·css
xx240629 分钟前
前端性能优化笔记
前端·笔记·性能优化
带娃的IT创业者35 分钟前
单文件架构的极致美学:深入解析 Bento 的 HTML 幻灯片技术实现
前端·架构·html·web开发·bento·单文件架构
muddjsv38 分钟前
CSS 值的完整计算过程:指定值、计算值、使用值、实际值与动态依赖
前端·css
恋猫de小郭38 分钟前
KotlinLLM 开源 ,一个可以在运行时自己生成永久 Kotlin 代码的 Agent 库
android·前端·人工智能
名字还没想好☜41 分钟前
React createPortal 实战:模态框逃出 overflow:hidden、事件冒泡与焦点管理
前端·javascript·react.js·ecmascript·react·createportal