Jak zrobić responsywne menu nawigacyjne na stronę internetową

przykładowe menu na stronie internetowej
przykładowe menu na stronie internetowej

Oto przykład responsywnego menu nawigacyjnego z przyciskami, które mają gradientowe tło pojawiające się po najechaniu kursorem. Kod HTML i CSS został zaprojektowany tak, aby menu było responsywne i estetyczne.

Kod HTML


 
html
<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Responsywne Menu Nawigacyjne</title> <link rel="stylesheet" href="style.css"> </head> <body> <nav class="navbar"> <div class="logo">Logo</div> <ul class="nav-links"> <li><a href="#home">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#services">Services</a></li> <li><a href="#contact">Contact</a></li> </ul> <div class="menu-icon" onclick="toggleMenu()">☰</div> </nav> <script> function toggleMenu() { const navLinks = document.querySelector('.nav-links'); navLinks.classList.toggle('active'); } </script> </body> </html>

Kod CSS


 
css
* { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; } body { background-color: #f4f4f4; } .navbar { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; background-color: #333; } .logo { color: #fff; font-size: 24px; font-weight: bold; } .nav-links { list-style: none; display: flex; } .nav-links li { margin: 0 10px; } .nav-links a { color: #fff; text-decoration: none; padding: 10px 15px; transition: background 0.3s; border-radius: 5px; } .nav-links a:hover { background: linear-gradient(45deg, #ff6b6b, #ff6e8a); } .menu-icon { display: none; font-size: 24px; color: #fff; cursor: pointer; } /* Responsive Styles */ @media (max-width: 768px) { .nav-links { position: absolute; top: 60px; right: 0; background-color: #333; width: 100%; max-height: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; flex-direction: column; } .nav-links.active { max-height: 200px; } .nav-links li { text-align: center; margin: 10px 0; } .menu-icon { display: block; } }

Wyjaśnienie działania

  1. HTML: Menu zawiera logo, listę linków oraz ikonę menu (☰), która pojawia się na urządzeniach mobilnych.
  2. CSS: Menu jest stylizowane, by wyglądało dobrze zarówno na dużych ekranach, jak i na mniejszych urządzeniach:
    • Na większych ekranach linki wyświetlają się obok siebie.
    • Na mniejszych ekranach linki są ukrywane w pionowym menu, które rozwija się po kliknięciu ikony menu.
  3. Gradient: Na przyciskach zastosowano gradientowe tło, które pojawia się po najechaniu myszką.

ZOBACZ RÓWNIEŻ:

Pozostałe kategorie