Menu a discesa CSS
Crea un menu a discesa hoverable con CSS.
Demo: esempi a discesa
Sposta il mouse sugli esempi seguenti:
Menu a discesa di base
Crea una casella a discesa che appare quando l'utente sposta il mouse su un elemento.
Esempio
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display:
none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding:
12px 16px;
z-index: 1;
}
.dropdown:hover
.dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>
Esempio spiegato
HTML) Utilizzare qualsiasi elemento per aprire il contenuto a discesa, ad esempio un elemento <span> o <button>.
Usa un elemento contenitore (come <div>) per creare il contenuto a discesa e aggiungere tutto ciò che vuoi al suo interno.
Avvolgi un elemento <div> attorno agli elementi per posizionare correttamente il contenuto del menu a discesa con CSS.
CSS) La .dropdown
classe usa position:relative
, che è necessario quando vogliamo che il contenuto del menu a tendina sia posizionato proprio sotto il pulsante a tendina (usando position:absolute
).
La .dropdown-content
classe contiene il contenuto a discesa effettivo. È nascosto per impostazione predefinita e verrà visualizzato al passaggio del mouse (vedi sotto). Nota min-width
che è impostato su 160px. Sentiti libero di cambiare questo. Suggerimento: se desideri che la larghezza del contenuto a discesa sia ampia quanto il pulsante a discesa, imposta width
su 100% (e overflow:auto
per abilitare lo scorrimento su schermi piccoli).
Invece di utilizzare un bordo, abbiamo utilizzato la box-shadow
proprietà CSS per rendere il menu a discesa simile a una "carta".
Il :hover
selettore viene utilizzato per mostrare il menu a tendina quando l'utente sposta il mouse sul pulsante a tendina.
Menu a discesa
Creare un menu a discesa che consenta all'utente di scegliere un'opzione da un elenco:
Questo esempio è simile al precedente, tranne per il fatto che aggiungiamo collegamenti all'interno della casella a discesa e li modelliamo per adattarli a un pulsante a discesa con stile:
Esempio
<style>
/* Style The Dropdown Button */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* The
container <div> - needed to position the dropdown content */
.dropdown {
position: relative;
display:
inline-block;
}
/* Dropdown Content (Hidden by Default) */
.dropdown-content {
display: none;
position:
absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow:
0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Show the
dropdown menu on hover */
.dropdown:hover .dropdown-content {
display: block;
}
/* Change the background color of the dropdown
button when the dropdown content is shown */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<a href="#">Link
1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
Contenuto a discesa allineato a destra
Se desideri che il menu a discesa vada da destra a sinistra, anziché da sinistra a destra, aggiungi right: 0;
Esempio
.dropdown-content {
right: 0;
}
Altri esempi
Immagine a discesa
Come aggiungere un'immagine e altri contenuti all'interno della casella a discesa.
Passa il mouse sopra l'immagine:
Barra di navigazione a discesa
Come aggiungere un menu a discesa all'interno di una barra di navigazione.