Como criar: Modal CSS/JS
- Página anterior Vídeo em tela cheia
- Próxima página Excluir caixa modal
Aprenda a criar modais usando CSS e JavaScript.
Como criar um Modal
O Modal é um diálogo/janela pop-up que é exibido no topo da página atual:
Primeira etapa - Adicionar HTML:
<!-- Acionar/Abrir Modal --> <button id="myBtn">Abrir Modal</button> <!-- Modal --> <div id="myModal" class="modal"> <!-- Conteúdo do Modal --> <div class="modal-content"> <span class="close">×</span> <p>Algum texto no Modal...</p> </div> </div>
Segunda etapa - Adicionar CSS:
/* Caixa modal (fundo) */ .modal { display: none; /* Oculto por padrão */ position: fixed; /* Manter a posição fixa */ z-index: 1; /* Localizado na camada superior */ left: 0; top: 0; width: 100%; /* Largura total */ height: 100%; /* Altura total */ overflow: auto; /* Habilitar rolagem se necessário */ background-color: rgb(0,0,0); /* Cor reserva */ background-color: rgba(0,0,0,0.4); /* Preto com opacidade */ } /* Conteúdo/quadro da caixa modal */ .modal-content { background-color: #fefefe; margin: 15% auto; /* 15% do topo e centralizado */ padding: 20px; border: 1px solid #888; width: 80%; /* Pode variar dependendo do tamanho da tela */ } /* Botão de fechamento */ .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; }
Terceiro passo - Adicionar JavaScript:
// Obter a caixa modal var modal = document.getElementById("myModal"); // Obter o botão de abertura da caixa modal var btn = document.getElementById("myBtn"); // Obter o elemento <span> de fechamento da caixa modal var span = document.getElementsByClassName("close")[0]; // Quando o usuário clicar no botão, abrir a caixa modal btn.onclick = function() { modal.style.display = "block"; } // Quando o usuário clicar no <span> (x), fechar a caixa modal span.onclick = function() { modal.style.display = "none"; } // Quando o usuário clicar em qualquer local fora da caixa modal, fechá-la window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }
Adicionar cabeçalho e rodapé
Adicione classes ao cabeçalho, corpo e rodapé da janela modal:
/* Conteúdo da janela modal */ <div class="modal-content"> <div class="modal-header"> <span class="close">×</span> <h2>Cabeçalho do Modal</h2> </div> <div class="modal-body"> <p Alguns textos no Corpo do Modal</p> <p>Alguns outros textos...</p> </div> <div class="modal-footer"> <h3>Rodapé do Modal</h3> </div> </div>
Defina o estilo do cabeçalho, corpo e rodapé da janela modal, e adicione animação (janela modal deslizando para dentro):
/* Cabeçalho da janela modal */ .modal-header { padding: 2px 16px; background-color: #5cb85c; color: white; } /* Corpo da janela modal */ .modal-body {padding: 2px 16px;} /* Rodapé da janela modal */ .modal-footer { padding: 2px 16px; background-color: #5cb85c; color: white; } /* Conteúdo da janela modal */ .modal-content { position: relative; background-color: #fefefe; margin: auto; padding: 0; border: 1px solid #888; width: 80%; box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); animation-name: animatetop; animation-duration: 0.4s } /* Adicionar animação */ @keyframes animatetop { from {top: -300px; opacity: 0} to {top: 0; opacity: 1} }
Janela modal no fundo
Crie uma janela modal que desliza do fundo com largura total:
Exemplo - Janela modal no fundo
Páginas relacionadas
Tutorial:Como criar imagem modal
Tutorial:Como criar a lente de luz
- Página anterior Vídeo em tela cheia
- Próxima página Excluir caixa modal