CSS code snippet for Liquid Button Hover Effect (with Dark Background):
selector{ --text-hover-color: #000; } selector .elementor-button-wrapper{ position: relative; transition: 0.5s; } selector .elementor-button-wrapper a{ background: #fff; -webkit-mask: url("https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/nature-sprite.png"); mask: url("https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/nature-sprite.png"); -webkit-mask-size: 2300% 100%; mask-size: 2300% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; color: var(--text-hover-color); } selector.anim .elementor-button-wrapper a{ animation: anim2 0.7s steps(22) forwards; } selector.anim .elementor-button-wrapper a:hover { animation: anim1 0.7s steps(22) forwards; } selector .elementor-button-wrapper .before{ position: absolute; } @keyframes anim1 { from { -webkit-mask-position: 100% 0; mask-position: 100% 0; } to { -webkit-mask-position: 0 0; mask-position: 0 0; } } @keyframes anim2 { from { -webkit-mask-position: 0 0; mask-position: 0 0; } to { -webkit-mask-position: 100% 0; mask-position: 100% 0; } }
JavaScript code snippet for Liquid Button Hover Effect:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> var $ = jQuery $(document).ready(function(){ $('.liquid-button .elementor-button-wrapper').each(function(){ var btnText = $(this).find('.elementor-button-text').text().trim() $(this).children('span.before').remove() $(this).prepend('<span class="before elementor-button">' + btnText + '</span>') }) $('.liquid-button').hover(function(){ $(this).addClass('anim') }) }) </script>
CSS code snippet for Liquid Button Hover Effect (with Light Background):
selector{ --text-hover-color: #fff; } selector .elementor-button-wrapper{ position: relative; transition: 0.5s; } selector .elementor-button-wrapper a{ background: #fff; -webkit-mask: url("https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/nature-sprite.png"); mask: url("https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/nature-sprite.png"); -webkit-mask-size: 2300% 100%; mask-size: 2300% 100%; -webkit-mask-position: 100% 0; mask-position: 100% 0; color: var(--text-hover-color); } selector.anim .elementor-button-wrapper a{ animation: anim2 0.7s steps(22) forwards; } selector.anim .elementor-button-wrapper a:hover { animation: anim1 0.7s steps(22) forwards; } selector .elementor-button-wrapper .before{ position: absolute; } @keyframes anim1 { from { -webkit-mask-position: 100% 0; mask-position: 100% 0; } to { -webkit-mask-position: 0 0; mask-position: 0 0; } } @keyframes anim2 { from { -webkit-mask-position: 0 0; mask-position: 0 0; } to { -webkit-mask-position: 100% 0; mask-position: 100% 0; } } selector .elementor-button-wrapper, selector .before, selector .elementor-button-text{ filter: invert(1); }