W3.CSS Dropdown



Classi a discesa W3.CSS

W3.CSS fornisce le seguenti classi a discesa:

Classe Definisce
w3-dropdown-hover Un elemento a discesa fluttuante
contenuto a discesa w3 La parte a discesa da visualizzare
w3-clic a discesa Un elemento a discesa cliccabile

Elementi a discesa

La classe w3-dropdown-hover definisce un elemento a discesa hoverable.

La classe w3-dropdown-content definisce il contenuto a discesa da visualizzare.

Esempio

<div class="w3-dropdown-hover">
  <button class="w3-button">Hover Over Me!</button>
  <div class="w3-dropdown-content w3-bar-block w3-border">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>

Sia l'elemento hoverable che l'elemento di contenuto a discesa possono essere qualsiasi elemento HTML.

Nell'esempio sopra l'elemento hover era un <pulsante> e il contenuto a discesa un <div>.

Nell'esempio successivo l'elemento hover è un <p> e il contenuto del menu a discesa è un <span>:

Esempio

<p class="w3-dropdown-hover">Hover over me!
  <span class="w3-dropdown-content w3-green">Hello World!</span>
</p>



Menu a discesa

La classe w3-dropdown-hover è perfetta per creare barre di navigazione con menu a discesa:

Esempio

<div class="w3-bar w3-light-grey">
  <a href="#" class="w3-bar-item w3-button">Home</a>
  <a href="#" class="w3-bar-item w3-button">Link 1</a>
  <div class="w3-dropdown-hover">
    <button class="w3-button">Dropdown</button>
    <div class="w3-dropdown-content w3-bar-block w3-card-4">
      <a href="#" class="w3-bar-item w3-button">Link 1</a>
      <a href="#" class="w3-bar-item w3-button">Link 2</a>
      <a href="#" class="w3-bar-item w3-button">Link 3</a>
    </div>
  </div>
</div>

Nota: imparerai di più sulle barre di navigazione più avanti in questo tutorial.


Menu a discesa cliccabili

La classe w3-dropdown-click crea un elemento a discesa selezionabile.

Con questa classe, il menu a discesa viene aperto da JavaScript:

Esempio

<div class="w3-dropdown-click">
  <button onclick="myFunction()" class="w3-button w3-black">Click Me!</button>
  <div id="Demo" class="w3-dropdown-content w3-bar-block w3-border">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>

<script>
function myFunction() {
  var x = document.getElementById("Demo");
  if (x.className.indexOf("w3-show") == -1) { 
    x.className += " w3-show";
  } else {
    x.className = x.className.replace(" w3-show", "");
  }
}
</script>


Immagini a discesa

Sposta il mouse sull'immagine:

Monterosso

Norvegia

Esempio

<div class="w3-dropdown-hover">
  <img src="img_snowtops.jpg" alt="Norway" style="width:20%">
  <div class="w3-dropdown-content" style="width:300px">
    <img src="img_snowtops.jpg" alt="Norway" style="width:100%">
  </div>
</div>


Carte a discesa

Sposta il mouse su una delle seguenti città:

Londra
Londra

Londra è la capitale dell'Inghilterra.

È la città più popolosa del Regno Unito, con un'area metropolitana di oltre 9 milioni di abitanti.

Tokio
Tokyo

Tokyo is the capital city of Japan.

13 million inhabitants.

Esempio

<div class="w3-dropdown-hover">London
  <div class="w3-dropdown-content w3-card-4" style="width:250px">
    <img src="img_london.jpg" alt="London" style="width:100%">
    <div class="w3-container">
      <p>London is the capital city of England.</p>
      <p>It is the most populous city in the UK.</p>
    </div>
  </div>
</div>


Menu a discesa animato

Usa una qualsiasi delle classi w3-animate per sfumare, ingrandire o far scorrere il contenuto a discesa:

Esempio

<div class="w3-dropdown-click">
  <button onclick="myFunction()" class="w3-button">Click Me</button>
  <div id="Demo" class="w3-dropdown-content w3-bar-block w3-animate-zoom">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>


Elenco a discesa allineato a destra

Usa la classe w3-right per far fluttuare il menu a discesa a destra. Usa i CSS per posizionare il contenuto del menu a tendina ( destra:0 farà sì che il menu a tendina vada da destra a sinistra invece che da sinistra a destra):

Esempio

<div class="w3-dropdown-hover w3-right">
  <button class="w3-button">Dropdown</button>
  <div class="w3-dropdown-content w3-bar-block w3-border" style="right:0">
    <a href="#" class="w3-bar-item w3-button">Link 1</a>
    <a href="#" class="w3-bar-item w3-button">Link 2</a>
    <a href="#" class="w3-bar-item w3-button">Link 3</a>
  </div>
</div>