css+js实现菜单点击涟漪动画效果代码

代码语言:html

所属分类:菜单导航

代码描述:css+js实现菜单点击涟漪动画效果代码

代码标签: css js 菜单 点击 涟漪 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">

    <style>
        :root {
        --primary-color: #3498DB;
        --accent-color: #E74C3C;
        --grey-700-color: #423f3f;
        --grey-900-color: #333;
        --base-spacing: 8px;
        --font-m: 14px;
        --shadow-small: 0 2px 4px -1px rgb(0 0 0 / 20%),0px 4px 5px 0 rgb(0 0 0 / 14%),0px 1px 10px 0 rgb(0 0 0 / 12%)
    }
    
    body {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        height: 100vh;
        margin: 0;
        padding: 0;
        background-color: var(--grey-900-color)
    }
    
    .tabs-box {
        display: flex;
        justify-content: center;
        max-width: 640px;
        height: 48px;
        width: 100%;
        background-color: var(--primary-color);
        box-shadow: var(--shadow-small);
        border-top-left-radius: 3px;
        border-top-right-radius: 3px
    }
    
    .tabs-menu {
        display: flex;
        justify-content: center;
        position: relative
    }
    
    .tab-button {
        display: flex;
        justify-content: center;
        align-items: center;
        border: 0;
        position: relative;
        overflow: hidden;
        font-weight: 500;
        font-size: var(--font-m);
        color: #fff;
        text-transform: uppercase;
        letter-spacing: .02857em;
        white-space: normal;
        letter-spacing: .02857em;
        background-color: transparent;
        padding: var(--base-spacing) calc(var(--base-spacing) * 2);
        cursor: pointer;
        transition: color 250ms ease-in
    }
    
    .tab-button .active {
        color: var(--grey-700)
    }
    
    .tab-button__content {
        display: block;
        pointer-events: none
    }
    
    .tab-button:hover,.tab-button:focus {
        outline: 0;
        color: var(--grey-700)
    }
    
    .tab-indicator {
        background-color: var(--accent-color);
        height: 3px;
        position: absolute;
        left: 0;
        bottom: 0;
        transition: left 250ms ease-in-out,width 650ms ease-in-out
    }
    
    .tab-button__ripple {
        position: absolute;
        background-color: black;
        transform: translate(-50%,-50%);
        border-radius: 50%;
        animation: ripple 1000ms linear infinite;
        pointer-events: none
    }
    
    .focus::after {
        content: '';
        position: absolute;
        background-color: black;
        opacity: .2;
        border-radius: 50%;
        width: 80%;
        height: auto;
        padding-top: 80%;
        background: black;
        transition: transform 300ms ease-in-out;
        transform: scale(0);
        animation: focusRipple 300ms linear infinite,focusPulse 1700ms linear 300ms infinite
    }
    
    @keyframes ripple {
        0% {
            width: 0;
            height: 0;
            opacity: .4
        }
    
        100% {
            width: 500px;
            height: 500px;
            opacity: 0
        }
    }
    
    @keyframes focusRipple {
        0% {
            t.........完整代码请登录后点击上方下载按钮下载查看

网友评论0