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