Efecto Lightbox con CSS

Danilo | 26 Agosto, 2007

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.

Hacer el Efecto Lightbox con 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.

Artículos relacionados

  • No Related Post

2 comentarios

  1. Comentado por tonny — Septiembre 7, 2008 @ 11:43 am

    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. Comentado por Fernando — Septiembre 8, 2009 @ 2:42 am

    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

Escribe un comentario