Reszponzív Menü Készítése: HTML és CSS Kóddal

A reszponzív menü létrehozása a webfejlesztés egyik alapvető feladata, mivel biztosítja, hogy a weboldalunk minden eszközön megfelelően jelenjen meg. Ebben a cikkben lépésről lépésre bemutatjuk, hogyan készíthetsz egy olyan menüt, amely asztali nézetben teljes, mobil nézetben pedig egy ikonra vált.

1. lépés: Alap HTML Struktúra

Kezdjük egy alap HTML struktúrával, amely tartalmazza a menüpontokat és egy hamburger ikont mobil nézethez. Hozd létre az index.html file-t.

<!DOCTYPE html>
<html lang="hu">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Reszponzív Menü</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <header>
        <nav>
            <div class="menu-icon" id="menu-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M3 6H21V8H3V6Z" fill="white"/>
                    <path d="M3 11H21V13H3V11Z" fill="white"/>
                    <path d="M3 16H21V18H3V16Z" fill="white"/>
                </svg>
            </div>
            <ul class="menu" id="menu">
                <li><a href="#">Főoldal</a></li>
                <li><a href="#">Rólunk</a></li>
                <li><a href="#">Szolgáltatások</a></li>
                <li><a href="#">Kapcsolat</a></li>
            </ul>
        </nav>
    </header>
    <script src="js/script.js"></script>
</body>
</html>

2. lépés: Alap CSS Stílusok

Most hozzunk létre egy style.css fájlt, amely tartalmazza az alap stílusokat a menühöz. Az alábbi stílusok asztali nézethez készültek.

/* Alap stílusok */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: #333;
    color: white;
    padding: 10px 0;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.menu-icon {
    display: none;
    font-size: 24px;
    cursor: pointer;
}

.menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.menu li {
    margin: 0 10px;
}

.menu li a {
    color: white;
    text-decoration: none;
    padding: 8px 12px;
}

.menu li a:hover {
    background-color: #575757;
    border-radius: 4px;
}

3. lépés: Reszponzív Stílusok

Adjuk hozzá a reszponzív stílusokat, hogy a menü megfelelően jelenjen meg mobil eszközökön.

/* Reszponzív stílusok */
@media (max-width: 768px) {
    .menu {
        display: none;
        flex-direction: column;
        width: 100%;
        text-align: center;
    }

    .menu li {
        margin: 10px 0;
    }

    .menu-icon {
        display: block;
    }
}

4. lépés: JavaScript a Menü Működtetéséhez

Végül, adjunk hozzá egy kis JavaScript kódot, hogy a hamburger ikonra kattintva megjelenjen vagy elrejtődjön a menü.

Hozz létre egy script.js fájlt a következő tartalommal:

document.getElementById('menu-icon').addEventListener('click', function() {
    var menu = document.getElementById('menu');
    if (menu.style.display === 'block') {
        menu.style.display = 'none';
    } else {
        menu.style.display = 'block';
    }
});

Letöltés