当前位置:首页 > CSS

css制作波纹

2026-02-27 07:30:18CSS

使用CSS制作波纹效果

通过CSS的animationtransform属性可以轻松实现波纹效果,以下是两种常见方法:

方法一:利用伪元素和scale动画

通过伪元素创建圆形背景,并用动画控制其缩放和透明度变化。

<div class="ripple-button">点击我</div>
.ripple-button {
  position: relative;
  overflow: hidden;
  padding: 12px 24px;
  background-color: #6200ea;
  color: white;
  border: none;
  cursor: pointer;
}

.ripple-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(1);
}

.ripple-button:active::after {
  animation: ripple 0.6s ease-out;
}

@keyframes ripple {
  to {
    transform: translate(-50%, -50%) scale(20);
    opacity: 0;
  }
}

方法二:通过JavaScript动态添加波纹元素

结合CSS和JavaScript实现更灵活的交互效果。

<button class="js-ripple-button">点击触发波纹</button>
.ripple {
  position: absolute;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7);
  transform: scale(0);
  animation: ripple-animation 0.6s linear;
  pointer-events: none;
}

@keyframes ripple-animation {
  to {
    transform: scale(4);
    opacity: 0;
  }
}
document.querySelector('.js-ripple-button').addEventListener('click', function(e) {
  const ripple = document.createElement('span');
  ripple.classList.add('ripple');
  this.appendChild(ripple);

  const rect = e.target.getBoundingClientRect();
  const x = e.clientX - rect.left;
  const y = e.clientY - rect.top;

  ripple.style.left = `${x}px`;
  ripple.style.top = `${y}px`;

  setTimeout(() => ripple.remove(), 600);
});

关键参数调整

  • 颜色:通过background-color修改波纹颜色。
  • 大小:调整伪元素的初始width/height或JavaScript中的scale值。
  • 速度:修改animation-duration(如0.6s)控制动画时长。
  • 形状border-radius: 50%确保圆形波纹,可改为其他值实现不同形状。

浏览器兼容性

  • 现代浏览器均支持此效果
  • 如需兼容旧版浏览器,需添加-webkit-前缀:
    @-webkit-keyframes ripple { ... }

css制作波纹

标签: 波纹css
分享给朋友:

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> &…

css 制作三角形

css 制作三角形

使用 CSS 制作三角形的方法 边框法(Border Method) 通过设置元素的宽高为0,并利用边框的透明属性来创建三角形。这是最常见且兼容性最好的方法。 向上三角形 .triangle-…

css制作表单

css制作表单

使用CSS制作表单的基本方法 创建一个美观且功能完善的表单需要结合HTML结构和CSS样式。以下是关键步骤和示例代码: HTML基础结构 <form class="my-form"&…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <…