Vissza a webes elemekhez
Navigáció

Morphing aktív menü

Élő előnézet – a komponens teljes méretben.

Élő előnézet
HTML · CSS · JS
HTML
<nav class="menu-morph">
    <a href="#" class="active">Kezdőlap</a>
    <a href="#">Rólunk</a>
    <a href="#">Szolgáltatások</a>
    <a href="#">Portfólió</a>
    <a href="#">Kapcsolat</a>
</nav>
CSS
.menu-morph {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 7px;
    background: #0b0f19;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50px;
}

.menu-morph a {
    position: relative;
    padding: 12px 20px;
    color: #8793a5;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.06em;
    border-radius: 50px;
    transition:
        color 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;
}

.menu-morph a:hover {
    color: #ffffff;
    transform: translateY(-1px);
}

.menu-morph a.active {
    color: #07110b;
    background: #2ecc71;
    box-shadow:
        0 5px 18px rgba(46, 204, 113, 0.22),
        0 0 25px rgba(46, 204, 113, 0.08);
}

.menu-morph a.active::after {
    content: "";
    position: absolute;
    inset: -3px;
    border: 1px solid rgba(46, 204, 113, 0.25);
    border-radius: 50px;
    opacity: 0;
    transform: scale(0.85);
    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

.menu-morph a.active:hover::after {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 700px) {
    .menu-morph {
        flex-wrap: wrap;
        border-radius: 22px;
    }

    .menu-morph a {
        padding: 9px 14px;
    }
}
JavaScript
Ehhez az elemhez nincs külön JavaScript.