1. Home
  2.  
  3. Blog
  4.  
  5. Web Design
  6.  
  7. Come creare un menu a tendina con HTML e CSS

Come creare un menu a tendina con HTML e CSS

Come creare un menu a tendina con HTML e CSS
Getting your Trinity Audio player ready...

Un menu a tendina è una componente fondamentale per migliorare la navigazione di un sito web, consentendo di organizzare voci e sottovoci in modo ordinato e accessibile. In questa guida, imparerai come creare un menu a tendina utilizzando esclusivamente HTML e CSS, senza l’utilizzo di JavaScript.


Struttura base del menu

Iniziamo creando la struttura HTML del menu. Useremo un elemento <nav> per contenere il menu e una lista non ordinata (<ul>) per organizzare le voci principali e le sottovoci.

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Guida per creare un menu a tendina con HTML e CSS senza JavaScript">
    <meta name="keywords" content="menu a tendina, HTML, CSS, tutorial, web design">
    <meta name="author" content="Gianluca Scoponi">
    <title>Menu a Tendina con HTML e CSS</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <nav>
        <ul class="menu">
            <li><a href="#">Home</a></li>
            <li>
                <a href="#">Servizi</a>
                <ul class="submenu">
                    <li><a href="#">Web Design</a></li>
                    <li><a href="#">SEO</a></li>
                    <li><a href="#">Marketing</a></li>
                </ul>
            </li>
            <li><a href="#">Portfolio</a></li>
            <li><a href="#">Contatti</a></li>
        </ul>
    </nav>
</body>
</html>

Stile del menu con CSS

Il passo successivo è aggiungere stile al menu per renderlo funzionale e visivamente accattivante.

/* Resetta i margini e i padding */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    padding: 20px;
}
nav {
    background-color: #333;
    padding: 10px;
}
.menu {
    list-style: none;
    display: flex;
}
.menu > li {
    position: relative;
    margin-right: 20px;
}
.menu a {
    text-decoration: none;
    color: white;
    padding: 10px 15px;
    display: block;
}
.menu a:hover {
    background-color: #555;
}
.submenu {
    list-style: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #333;
    display: none;
    min-width: 150px;
}
.submenu li {
    border-bottom: 1px solid #444;
}
.submenu li:last-child {
    border-bottom: none;
}
.submenu a {
    padding: 10px;
}
.menu li:hover > .submenu {
    display: block;
}

 

Come funziona il menu

  1. HTML: La lista <ul> principale contiene le voci del menu, mentre le sottovoci sono organizzate in una lista <ul> nidificata.
  2. CSS: La proprietà position: absolute permette al sottomenu di essere posizionato al di sotto della voce principale. La visibilità del sottomenu è controllata con display: none e display: block al passaggio del mouse grazie al selettore :hover.

Conclusione

Seguendo questa guida, hai creato un menu a tendina completamente funzionante utilizzando solo HTML e CSS. Questo approccio è leggero, veloce e ideale per progetti che non richiedono funzionalità avanzate offerte da JavaScript. Personalizza il design e le voci del menu per adattarlo alle esigenze del tuo sito web, contattaci per personalizzare il tuo sito.

Se ti è piaciuto questo articolo riguardo Come creare un menu a tendina con HTML e CSS condividilo sui social:
Dal 2010 supportiamo le aziende nella pianificazione e nello sviluppo di strategie mirate per una presenza efficace e professionale sul web e sui social media. Ecco tutto quello che possiamo fare per la tua attività.

Articoli correlati