• +55 86 99818-0416
  • brenomachadodomonte@gmail.com

Criando um modal apenas com HTML5 e CSS3

Criando um modal apenas com HTML5 e CSS3

Janelas modais são comumente utilizadas por desenvolvedores Web. Para a criação desses modais geralmente utilizamos bibliotecas JavaScript. Dentre diversas bibliotecas podemos destacar a Boostrap que é bem simples e fácil de usar. Mas se em seu projeto você não utiliza o bootstrap, não “compensa” adiciona-la ao seu projeto apenas para poder utilizar modais, então a dica é utilizar apenas HTML5 e CSS3. Vamos lá!

O primeiro passo para criarmos nosso modal é criar um arquivo HTML onde temos:

<!DOCTYPE html>
  <html>
  <head>
    <title>Modal com HTML5 e CSS3</title>
    <link rel="stylesheet" type="text/css" href="modal.css">
  </head>
  <body>
    <a href="#openModal">Abrir Modal</a>

    <div id="openModal" class="modalDialog">
      <div>
        <a href="#close" title="Close" class="closeModal"></a>
        <!-- Conteúdo do Modal -->
        <h2>Janela Modal</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
        <p>Donec efficitur efficitur est, a lobortis lacus scelerisque eget. Vivamus porttitor egestas dui sodales condimentum.</p>
        <hr>
        <!-- Conteúdo do Modal -->
      </div>
    </div>
  </body>
</html>

Deste código podemos destacar:

  1. A DIV com ID openModal<div id="openModal" class="modalDialog"></div> nesta DIV devemos colocar o conteúdo do Modal e também um link para fechar o Modal;
  2. A âncora para abrir o modal <a href="#openModal">Abrir Modal</a> ;
  3. Um link para uma filha de estilo CSS <link rel="stylesheet" type="text/css" href="modal.css">;

Apos a criação do arquivo HTML devemos criar o arquivo modal.css:

.modalDialog {
  position: fixed;
  font-family: Arial, Helvetica, sans-serif;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.8);
  z-index: 99999;
  opacity:0;
  -webkit-transition: opacity 400ms ease-in;
  -moz-transition: opacity 400ms ease-in;
  transition: opacity 400ms ease-in;
  pointer-events: none;
}

.modalDialog:target {
  opacity:1;
  pointer-events: auto;
}

.modalDialog > div {
  width: 400px;
  position: relative;
  margin: 10% auto;
  padding: 5px 20px 13px 20px;
  border-radius: 10px;
  background: #fff;
}

.closeModal {
  background: #606061;
  color: #FFFFFF;
  line-height: 25px;
  position: absolute;
  right: -12px;
  text-align: center;
  top: -10px;
  width: 24px;
  text-decoration: none;
  font-weight: bold;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  -moz-box-shadow: 1px 1px 3px #000;
  -webkit-box-shadow: 1px 1px 3px #000;
  box-shadow: 1px 1px 3px #000;
}

.closeModal:after {
  content: "\d7";
}

.closeModal:hover { 
  background: #f00; 

A folha de estilo é responsável por abrir e fechar o modal. Toda a “mágica” está na pseudo-classe :target que é ativada quando a âncora é clicada fazendo o modal aparecer.

Download do código: GitHub

breno

Deixe sua mensagem