W3.CSS Modal


Um modal é uma caixa de diálogo/janela pop-up exibida na parte superior da página atual:

×

Modal Header

Hello World!

Go back to W3.CSS Modal to learn more!

Modal Footer Close


Classes modais W3.CSS

W3.CSS fornece as seguintes classes para janelas modais:

Classe Define
w3-modal O contêiner modal
w3-modal-conteúdo O conteúdo modal

Criar um modal

A classe w3-modal define um contêiner para um modal.

A classe w3-modal-content define o conteúdo modal.

O conteúdo modal pode ser qualquer elemento HTML (divs, títulos, parágrafos, imagens, etc.).

Exemplo

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


Abra um modal

Use qualquer elemento HTML para abrir o modal. No entanto, isso geralmente é um botão ou um link.

Adicione o atributo onclick e aponte para o id do modal ( id01 em nosso exemplo), usando o método document.getElementById().


Fechar um modal

Para fechar um modal, adicione a classe w3-button a um elemento junto com um atributo onclick que aponta para o id do modal ( id01 ). Você também pode fechá-lo clicando fora do modal (veja o exemplo abaixo).

Dica: × é a entidade HTML preferida para ícones próximos, em vez da letra "x".


Cabeçalho e rodapé modal

Use classes w3-container para criar diferentes seções dentro do conteúdo modal:

×

Modal Header

Some text..

Some text..

Modal Footer

Exemplo

<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 cartão

Para exibir o modal como um cartão, adicione uma das classes w3-card-* ao contêiner w3-modal-content :

×

Modal Header

Some text..

Some text..

Modal Footer

Exemplo

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

Modais Animados

Use qualquer uma das classes w3-animate-zoom|top|bottom|right|left para deslizar no modal de uma direção 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

Exemplo

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

Você também pode esmaecer a cor de fundo do modal definindo a classe w3-animate-opacity no elemento w3-modal:

Exemplo

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

Imagem Modal

Clique na imagem para exibi-la como modal, em tamanho real:

Noruega
×
Norway

Exemplo

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

Galeria de imagens modal

Clique em uma imagem para exibi-la em tamanho real:

×

Exemplo

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

Formulário de login modal

Este exemplo cria um modal para login:


× Avatar
Remember me
Forgot password?

Exemplo


Modal com conteúdo com guias

Este exemplo cria um modal com conteúdo com guias:

×

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.

Exemplo


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.