Análise de Sistemas
Banco de Dados
Computação Gráfica
Diversos
Internet
Lógica
Programação
Redes
Computação
Informática Básica
FrameWorks
Matemática
Cadastre-se
CSS BASICO - PARTE 03 - SIMULANDO UM POPUP COM CSS EM UMA DIV


AMAZON


CLUBE DE AUTORES


MAGAZINE LUIZA


CLUBE DE AUTORES


CLUBE DE AUTORES

PHP-GENERATOR

CSS BASICO - PARTE 03 - SIMULANDO UM POPUP COM CSS EM UMA DIV

As pessoas viajam para admirar a altura das montanhas, as imensas ondas dos mares, o longo percurso dos rios, o vasto domínio do oceano, o movimento circular das estrelas, e no entanto elas passam por si mesmas sem se admirarem.(Santo Agostinho)

CSS BASICO – PARTE 03SIMULANDO UM POPUP COM CSS EM UMA DIV


Um popup pode ser visto como sendo uma sub janela de navegador que se abre sobre uma janela. Em algumas situações ele pode ser útil para divulgação de informações que mereçam destaque. No entanto, tal recurso acabou sendo explorado de forma inadequada por pessoas mal intencionadas, o que levou muitos navegadores a fazer o seu bloqueio automático. Como alternativa pode-se simular a criação de um popup com CSS. A diferença é que ao invés dele ser aberto em uma nova janela do navegador, ele pode ser aberto e fechado usando-se DIV em uma posição específica dentro da página HTML por meio de links que utilizam eventos JAVASCRIPT. Exemplo:


<html>

<head>

<meta charset=utf-8>

<title>usando DIV como POPUP</title>

<style>

#pop

{

background: black; /*cor de fundo*/

border:5px solid red; /*cria bordas*/

display:none; /*cria DIV invisivil*/

position:fixed; /*posicionamento fixo*/

top:50%; /*distância do topo*/

left:50%; /*distância da margem esquerda*/

margin-left:-200px; /*centraliza na horizontal*/

margin-top:-150px; /*centraliza na vertical*/

padding:10px; /*cria margens dentro da DIV */

width:400px; /*largura da DIV*/

height:300px; /*altura da DIV*/

}

</style>

</head>

<body>


<DIV id="pop">

<a href="#" onclick="document.getElementById('pop').style.display='none';" style='text-decoration:none'>

<font color=yellow face=arial size=5><div style='text-align:right'><b>X</div></a></font>

<font color=white>PopUp feito com CSS e DIV.

</DIV>


<h1><a href="#" onclick="document.getElementById('pop').style.display='block';">Abrir PopUp</a></h1>

</body>


Observe que no exemplo dado, margin-left e margin-top são respectivamente metade de width e height, isso possibilita que a DIV fique centralizada horizontalmente e verticalmente na tela. O comando display:none deixa a DIV e todo o seu conteúdo invisível até que o link com instrução JavaScript onclick="document.getElementById('pop').style.display='block';" receba um clique, voltanto a ficar invisível caso o link com a instrução JavaScript onclick="document.getElementById('pop').style.display='none';" também receba um clique.


Os comandos CSS foram relacionados a DIV por meio de ID, sendo assim, só podem ser utilizados uma única vez. Para relacionar tais comandos a várias DIVs, basta utilizar CLASS, substituindo o simbolo cerquilha(#) por um ponto final(.) antes do nome “pop”, acrescentando class=’pop’ na criação da DIV. Feito isso, será necessário, também, substituir a chamada em JAVASCRIPT por "document.getElementsByClassName('pop')[0].style.display='block';" para abertura da DIV e "document.getElementsByClassName('pop')[0].style.display='none';" para fechamento da DIV. Observe que para cada nova chamada deve ser acrescentado um índice numérico entre colchetes[], conforme exemplo que segue:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<meta charset=utf-8>

<title>usando DIV como POPUP</title>

<style>

.pop

{

background: black; /*cor de fundo*/

border:5px solid yellow; /*cria bordas*/

display:none; /*cria DIV invisivil*/

position:fixed; /*posicionamento fixo*/

padding:10px; /*cria margens dentro da DIV */

top: 10px;

left: 15px;

width:95%; /*largura da DIV*/

height:90%; /*altura da DIV*/

overflow:auto; /* cria uma barra de rolagem na div se necessário */

}

</style>

</head>

<body bgcolor=lightblue>

<center><h1>PENSAMENTOS<hr></h1>


<DIV class="pop">

<a href="#" onclick="document.getElementsByClassName('pop')[0].style.display='none';" style='text-decoration:none'>

<font color=yellow face=arial size=5><div style='text-align:right'><b>X &nbsp; </div></a></font>

<font color=white size=7>Ser estudioso é o maior ato de rebeldia contra um sistema que explora os menos favorecidos.</font>

</DIV>


<DIV class="pop">

<a href="#" onclick="document.getElementsByClassName('pop')[1].style.display='none';" style='text-decoration:none'>

<font color=yellow face=arial size=5><div style='text-align:right'><b>X</div></a></font>

<font color=white size=7>Todo ponto de vista é vista de um ponto. Todo ponto de vista tem seu ponto.</font>

</DIV>


<h1><a href="#" onclick="document.getElementsByClassName('pop')[0].style.display='block';">Poder do estudo</a></h1>

<h1><a href="#" onclick="document.getElementsByClassName('pop')[1].style.display='block';">Ponto de vista</a></h1>


</body>


Observe que, neste segundo exemplo, o código CSS tem menos comando, no entanto, foi acrescentando o comando overflow:auto; que cria uma barra de rolagem na DIV se necessário. Uma outra dica interessante, seria acrescentar após o comando de cor background: black; o comando background-color: rgba(0, 0, 0, 0.8); que possibilita criar uma DIV transparente, usando os sistema de cores RGB + A (camada Alpha – camada de transparência). Neste sistema o primeiro zero representa tons de vermelho(Red), o segundo tons de verde(Green) e o terceiro tons de azul(Blue), que podem variar de 0 a 255. Já o 0.8 representa o índice de transparência desejado.


ATIVIDADES


1) Aumente o tamanho da DIV em 200 pixels mantendo-a centralizada na tela.

2) Crie um efeito de fundo degrade com até três cores para a DIV.

3) Faça com que a DIV tenha um sombreamento a direita.

4) Crie links para três poemas e faça com que eles sejam exibidos em DIVs contendo a mesma formatação CSS.



Créditos: artigo redigido em outubro de 2016 – Professor Roni Márcio Fais – Todos os direitos reservados a www.rmfais.com.




WebMaster: PROFESSOR RONI MARCIO FAIS
Formação: Bacharel em Ciência da Computação e Especialista em Administração, Supervisão e Orientação Educacional
E-mail: rmfais@yahoo.com.br


Artigos



Criação de APP online