Efecto Lightbox con CSS

El efecto Lightbox es utilizado hace un tiempo ya para mostrar imágenes en tamaño grande o bien para algunas pantallas de login de usuarios o fuciones similares. Un ejemplo de ésto es el login de Review Me, que lo pueden observar en la imágen que adjunto al artículo.

Para implementar este efecto se suele usar un scritp de JavaScritp. Al ser tan pesada la librería este scritp, muchos dejaron de lado el efecto Lightbox ya que lo creían muy lento. Recientemente se ha publicado (sigt también habló sobre esto) otro modo de implementar un Lightbox, que intenta no basarse tanto en JavaScritp y si en hojas de estilo CSS.

El archivo que usamos para definir los estilos de nuestra página, deberá contener:


.black_overlay {
display: none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=80);
}


.white_content {
display: none;
position: absolute;
top: 25%;
left: 25%;
width: 50%;
height: 50%;
padding: 16px;
border: 16px solid orange;
background-color: white;
z-index:1002;
overflow: auto;
}

En el HTML, para mostrarlo:


<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block'; document.getElementById('fade').style.display='block'"> Hacer clic</a>

Y para ocultarlo:


<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none'; document.getElementById('fade').style.display='none'"> Ocultar</a>

Si quieren ver toda esta mezcla funcionando, lo pueden hacer desde aquí.

Existen muchos métodos para hacer este efecto. El comentado está interesante, tanto como éste que lo hace sin una gota de JS.

2 comentario en este artículoDeje el suyo
  1. Buenas, no sería mejor ponerlo con position:fixed?

    Así si se desplaza por la página con el scroll no habrán problemas.

    Un saludo!

  2. Me parece excelente pero tengo una duda. Pongo un formulario dentro de este div y cuando le doy aceptar me muestra un confirm en donde debe selecionar aceptar o cancelar el detalle es que cuando cancela se supone que no debe cerrar el div pero lamentablemente se cierra como puedo solucionar esto?? gracias

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

DANIBLOG 2012

WordPress