.layui-water-ripples-container { position: relative; display: inline-block; .layui-slot-container { position: relative; z-index: 2; } .layui-out-ripples { position: absolute; left: 0; top: 0; height: 100%; opacity: 1; z-index: 1; pointer-events: none; } .layui-animate-once--out { animation: ripple-effect 1s forwards; } .layui-animate-always--out { animation: ripple-effect 1s infinite; } @keyframes ripple-effect { 0% { box-shadow: 0 0 0 0px var(--layui-ripple-color); opacity: 0.4; } 100% { box-shadow: 0 0 0 var(--layui-spread-width) var(--layui-ripple-color); opacity: 0; } } .layui-inset-ripples { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); opacity: 1; width: 0px; height: 0px; background: var(--layui-ripple-color); pointer-events: none; } @keyframes size-effect { 0% { width: 0px; height: 0px; opacity: 0.8; } 100% { width: var(--layui-spread-size); height: var(--layui-spread-size); opacity: 0; } } .layui-animate-once--inset { animation: size-effect 1s forwards; } .layui-animate-always--inset { animation: size-effect 1s infinite; } }