Layui 导航菜单默认不带水波纹效果,其点击反馈仅依赖 :active 状态;涟漪必来自自定义 CSS、第三方库或手动 JS 逻辑,需分别检查并移除对应代码。

默认情况下,Layui 的导航菜单(.layui-nav 及其子项)**本身不自带水波纹(Ripple)涟漪效果**。你看到的点击扩散动画,大概率来自以下三类外部来源之一:自定义 CSS 动画、第三方 UI 库(如引入了 Material 风格组件)、或项目中手动添加的涟漪 JS 逻辑(比如监听 click 动态插入 .ripple 元素)。
确认涟漪是否真由 Layui 自身触发
Layui 官方 CSS 和 JS 均未实现涟漪动效。它的菜单点击反馈仅依赖原生浏览器 :active 状态(轻微背景色变化),无 scale/opacity 扩散动画。因此,取消涟漪不是“关 Layui 开关”,而是定位并移除你项目里额外加上的部分。
常见来源与对应关闭方法
1. 检查自定义 CSS 中的 ripple 类动画
搜索项目 CSS 文件(含 style 标签和外部 .css)中是否含类似以下规则:
.ripple { position: absolute; border-radius: 50%; pointer-events: none; transform: scale(0); }.ripple-active { animation: ripple 0.4s linear; }@keyframes ripple { to { transform: scale(3); opacity: 0; } }
→ 直接删掉这些 CSS 规则,或注释掉相关 @keyframes 和类定义。
2. 查看 JS 是否动态注入涟漪元素
在控制台执行:document.querySelectorAll('.ripple'),若返回非空 NodeList,说明有 JS 创建了涟漪 DOM。
再全局搜索关键词:ripple、clip-path、transform-origin、animationend、getBoundingClientRect。
- 找到绑定在
.layui-nav-item a或菜单容器上的click/touchstart监听器 - 注释或删除该事件监听逻辑(通常包含
document.createElement('span')和element.classList.add('ripple-active'))
3. 排查是否引入了干扰的第三方库
检查 HTML 中是否引入了非 Layui 的 UI 框架,例如:<link rel="stylesheet" href="xxx/material.css"><script src="xxx/ripple.min.js"></script>
→ 移除对应 link/script 标签,或在初始化时禁用其自动绑定(查阅该库文档,常见配置如 disableRipple: true)。
快速验证与兜底方案
若一时无法定位来源,可临时加一段 CSS 强制屏蔽所有可能涟漪元素的显示和动画:
.ripple, .ripple-active, [class*="ripple"], [style*="clip-path"] {
display: none !important;
animation: none !important;
transform: none !important;
opacity: 0 !important;
}
这段样式放在页面最底部或自定义 CSS 末尾即可立即生效,不影响 Layui 正常功能。


















