Slider Tab Menu is a Material Design-inspired tab menu that features a sliding animated link underline that moves with a wavy clicking effect as you click on a tab.
material design tabs codepen, android material tabs tablayout text size, material design tabs web, android tablayout set selected tab, material design 3 tabs, tab indicator android
How to make use of it:
1. Create a tab menu with a slider from an unordered HTML list.
<ul> <li>Tab One</li> <li>Tab Two</li> <li>Tab Three</li> <li class="slider"></li> </ul>
2. Tab menu style.
ul { font-size: 0; position: relative; padding: 0; width: 480px; margin: 40px auto; user-select: none; } li { display: inline-block; width: 160px; height: 60px; background: #E95546; font-size: 16px; text-align: center; line-height: 60px; color: #fff; text-transform: uppercase; position: relative; overflow: hidden; cursor: pointer; }
3. Slider style to underline the sliding link.
.slider { display: block; position: absolute; bottom: 0; left: 0; height: 4px; background: #4FC2E5; transition: all 0.5s; }
4. Create a wavy click effect using CSS3 animation.
.ripple { width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.4); -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); position: absolute; opacity: 1; } .rippleEffect { -webkit-animation: rippleDrop .6s linear; animation: rippleDrop .6s linear; } @-webkit-keyframes rippleDrop { 100% { -webkit-transform: scale(2); transform: scale(2); opacity: 0; } } @keyframes rippleDrop { 100% { -webkit-transform: scale(2); transform: scale(2); opacity: 0; } }
5. Include the latest version of the jQuery library on your web page.
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
6. Enable the tab menu.
$("ul li").click(function(e) { if ($(this).hasClass('slider')) { return; } var whatTab = $(this).index(); var howFar = 160 * whatTab; $(".slider").css({ left: howFar + "px" }); $(".ripple").remove(); var posX = $(this).offset().left, posY = $(this).offset().top, buttonWidth = $(this).width(), buttonHeight = $(this).height(); $(this).prepend("<span class='ripple'></span>"); if (buttonWidth >= buttonHeight) { buttonHeight = buttonWidth; } else { buttonWidth = buttonHeight; } var x = e.pageX - posX - buttonWidth / 2; var y = e.pageY - posY - buttonHeight / 2; $(".ripple").css({ width: buttonWidth, height: buttonHeight, top: y + 'px', left: x + 'px' }).addClass("rippleEffect"); });
material design sliding tab menu with jquery, slider tab menu Plugin/Github, tabs design system
See Demo And Download
Official Website(Ruddy): Click Here
This superior jQuery/javascript plugin is developed by Ruddy. For extra advanced usage, please go to the official website.