Menús desplegables de W3.CSS



W3.CSS Clases desplegables

W3.CSS proporciona las siguientes clases desplegables:

Clase define
w3-desplegable-hover Un elemento desplegable flotante
w3-desplegable-contenido La parte desplegable que se mostrará
w3-desplegable-clic Un elemento desplegable en el que se puede hacer clic

Elementos desplegables

La clase w3-dropdown-hover define un elemento desplegable que se puede desplazar.

La clase w3-dropdown-content define el contenido desplegable que se mostrará.

Ejemplo

<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>

Tanto el elemento que se puede desplazar como el elemento de contenido desplegable pueden ser cualquier elemento HTML.

En el ejemplo anterior, el elemento flotante era un <button> y el contenido del menú desplegable era un <div>.

En el siguiente ejemplo, el elemento flotante es un <p> y el contenido desplegable es un <span>:

Ejemplo

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



Menús desplegables

La clase w3-dropdown-hover es perfecta para crear barras de navegación con menús desplegables:

Ejemplo

<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: Aprenderá más sobre las barras de navegación más adelante en este tutorial.


Menús desplegables en los que se puede hacer clic

La clase w3-dropdown-click crea un elemento desplegable en el que se puede hacer clic.

Con esta clase, JavaScript abre el menú desplegable:

Ejemplo

<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>


Menús desplegables de imágenes

Mueva el mouse sobre la imagen:

Monterosso

Noruega

Ejemplo

<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>


Menús desplegables de tarjetas

Mueva el mouse sobre una de las siguientes ciudades:

Londres
Londres

Londres es la ciudad capital de Inglaterra.

Es la ciudad más poblada del Reino Unido, con un área metropolitana de más de 9 millones de habitantes.

tokio
Tokyo

Tokyo is the capital city of Japan.

13 million inhabitants.

Ejemplo

<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>


Menú desplegable animado

Use cualquiera de las clases w3-animate- para desvanecer, acercar o deslizar el contenido desplegable:

Ejemplo

<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>


Menú desplegable alineado a la derecha

Use la clase w3-right para hacer flotar el menú desplegable a la derecha. Use CSS para colocar el contenido desplegable ( right:0 hará que el menú desplegable vaya de derecha a izquierda en lugar de izquierda a derecha):

Ejemplo

<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>