Modo W3.CSS


Un modal es un cuadro de diálogo/ventana emergente que se muestra en la parte superior de la página actual:

×

Modal Header

Hello World!

Go back to W3.CSS Modal to learn more!

Modal Footer Close


Clases modales W3.CSS

W3.CSS proporciona las siguientes clases para ventanas modales:

Clase define
w3-modal El contenedor modal
w3-modal-contenido El contenido modal

Crear un modal

La clase w3-modal define un contenedor para un modal.

La clase w3-modal-content define el contenido modal.

El contenido modal puede ser cualquier elemento HTML (divs, encabezados, párrafos, imágenes, etc.).

Ejemplo

<!-- Trigger/Open the Modal -->
<button onclick="document.getElementById('id01').style.display='block'"
class="w3-button">Open Modal</button>

<!-- The Modal -->
<div id="id01" class="w3-modal">
  <div class="w3-modal-content">
    <div class="w3-container">
      <span onclick="document.getElementById('id01').style.display='none'"
      class="w3-button w3-display-topright">&times;</span>
      <p>Some text in the Modal..</p>
      <p>Some text in the Modal..</p>
    </div>
  </div>
</div>


Abrir un modal

Use cualquier elemento HTML para abrir el modal. Sin embargo, esto es a menudo un botón o un enlace.

Agregue el atributo onclick y apunte al id del modal ( id01 en nuestro ejemplo), usando el método document.getElementById().


cerrar un modal

Para cerrar un modal, agregue la clase w3-button a un elemento junto con un atributo onclick que apunte a la identificación del modal ( id01 ). También puede cerrarlo haciendo clic fuera del modal (vea el ejemplo a continuación).

Consejo: × es la entidad HTML preferida para cerrar iconos, en lugar de la letra "x".


Encabezado y pie de página modales

Use clases de contenedor w3 para crear diferentes secciones dentro del contenido modal:

×

Modal Header

Some text..

Some text..

Modal Footer

Ejemplo

<div id="id01" class="w3-modal">
  <div class="w3-modal-content">

    <header class="w3-container w3-teal">
      <span onclick="document.getElementById('id01').style.display='none'"
      class="w3-button w3-display-topright">&times;</span>
      <h2>Modal Header</h2>
    </header>

    <div class="w3-container">
      <p>Some text..</p>
      <p>Some text..</p>
    </div>

    <footer class="w3-container w3-teal">
      <p>Modal Footer</p>
    </footer>

  </div>
</div>

Modal como tarjeta

Para mostrar el modal como una tarjeta, agregue una de las clases w3-card-* al contenedor w3-modal-content :

×

Modal Header

Some text..

Some text..

Modal Footer

Ejemplo

<div class="w3-modal-content w3-card-4">

Modales animados

Usa cualquiera de las clases w3-animate-zoom|top|bottom|right|left para deslizarte en el modal desde una dirección específica:

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

×

Modal Header

Some text..

Some text..

Modal Footer

Ejemplo

<div class="w3-modal-content w3-animate-zoom">
<div class="w3-modal-content w3-animate-top">
<div class="w3-modal-content w3-animate-bottom">
<div class="w3-modal-content w3-animate-left">
<div class="w3-modal-content w3-animate-right">
<div class="w3-modal-content w3-animate-opacity">

También puede atenuar el color de fondo del modal configurando la clase w3-animate-opacity en el elemento w3-modal:

Ejemplo

<div class="w3-modal w3-animate-opacity">

Imagen modal

Haga clic en la imagen para mostrarla como modal, en tamaño completo:

Noruega
×
Norway

Ejemplo

<img src="img_snowtops.jpg" onclick="document.getElementById('modal01').style.display='block'" class="w3-hover-opacity">

<div id="modal01" class="w3-modal w3-animate-zoom" onclick="this.style.display='none'">
  <img class="w3-modal-content" src="img_snowtops.jpg">
</div>

Galería de imágenes modales

Haga clic en una imagen para mostrarla en tamaño completo:

×

Ejemplo

<div class="w3-row-padding">
  <div class="w3-container w3-third">
    <img src="img_snowtops.jpg" style="width:100%" onclick="onClick(this)">
  </div>
  <div class="w3-container w3-third">
    <img src="img_lights.jpg" style="width:100%" onclick="onClick(this)">
  </div>
  <div class="w3-container w3-third">
    <img src="img_mountains.jpg" style="width:100%" onclick="onClick(this)">
  </div>
</div>

<div id="modal01" class="w3-modal" onclick="this.style.display='none'">
  <img class="w3-modal-content" id="img01" style="width:100%">
</div>

<script>
function onClick(element) {
  document.getElementById("img01").src = element.src;
  document.getElementById("modal01").style.display = "block";
}
</script>

Formulario de inicio de sesión modal

Este ejemplo crea un modal para iniciar sesión:


× Avatar
Remember me
Forgot password?

Ejemplo


Modal con contenido tabulado

Este ejemplo crea un modal con contenido tabulado:

×

Header

London

London is the most populous city in the United Kingdom, with a metropolitan area of over 9 million inhabitants.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Ejemplo


Close the Modal

In the examples above, we use a button to close the modal. However, with a little bit of JavaScript, you can also close the modal when clicking outside of the modal box:

Example

// Get the modal
var modal = document.getElementById('id01');

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
  if (event.target == modal) {
    modal.style.display = "none";
  }
}

Advanced: Lightbox (Modal Image Gallery)

This example shows how to add an image slideshow inside a modal, to create a "lightbox":

×

Nature and sunrise

Nature and sunrise
French Alps
Mountains and fjords

Example

Click on an image:

Tip: To learn more about slideshows, visit our W3.CSS Slideshow chapter.