GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

CSS Modal Responsivo

Tags: #<Tag:0x00007f7d7bc815e0> #<Tag:0x00007f7d7bc814a0> #<Tag:0x00007f7d7bc81360>

Boa tarde!

Não estou conseguindo deixar o modal que foi feito somente HTML + CSS responsivo, alguém pode me ajudar?

Segue abaixo os códigos:

HTML:

<div id="openModal-KelersonSantos" class="modalDialog">
  <div>
     <a href="#close" title="Fechar" class="close">X</a>
     <h1>TÍTULO</h1>
        Texto na modal.
  </div>
</div>

CSS:

/* MODALS */

.modalDialog {
	position: absolute;
	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: 350px;
  max-width: 100%;
	position: relative;
	margin: 10% auto;
	padding: 25px 20px 13px 20px;
	border-radius: 10px;
	background: #fff;
	background: -moz-linear-gradient(#fff, #999);
	background: -webkit-linear-gradient(#fff, #999);
  background: -o-linear-gradient(#fff, #999);
  text-align: justify;
}

.modalDialog h1 {
  text-align: center;
}

.close {
	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;
}

.close:hover { background: #f0c53e; }
.modalDialog > div {
     width: 100%;
     max-width: 500px; // A largura máxima que você quiser
     ...
 }

Não é melhor usar width: 500px? :sweat_smile:

Para o modal ser responsivo essa é a melhor maneira.

Utilizar width: 100% e max-width: 500px é a mesma coisa que width: 500px

A melhor maneira é fazer media queries

1 Curtida

Aplicando esse estilo no modal, quando ele for exibido em uma tela de largura menor ou igual a 500px, automaticamente sua largura será igual a largura da tela.

Não é muito mais fácil que utilizar media queries?

quando for menor que 500 é uma boa abordagem mesmo, mas e se for bem grande? Vai limitar a 500px?

Para telas bem grandes concordo que sua abordagem é bem eficiente.