PDA

View Full Version : Making Lightbox independent of the page?



Schmoopy
01-16-2009, 05:41 PM
Hey, just an idea I had after having some images that were bigger than the screen in height, so you have to scroll down to view the rest of it. When you do this, you scroll the page as well, does anyone know a way to make lightbox independent of the page? So that is has it's own image layer that when scrolled up and down does not move the rest of the page?

This may be CSS, but I'm pretty sure it's done with JavaScript.

Anyways, hope you can help,

Jack.

Nile
01-16-2009, 08:31 PM
Try:


position: absolute;

On the lytebox code.

Schmoopy
01-16-2009, 09:04 PM
The CSS for the lightbox I have is:



#lightbox{ position: absolute; left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0;}
#lightbox img{ width: auto; height: auto;}
#lightbox a img{ border: none; }

#outerImageContainer{ position: relative; background-color: #082D08; width: 250px; height: 250px; margin: 0 auto; }
#imageContainer{ padding: 10px; }

#loading{ position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; }
#hoverNav{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#imageContainer>#hoverNav{ left: 0;}
#hoverNav a{ outline: none;}

#prevLink, #nextLink{ width: 49%; height: 100%; background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */ display: block; }
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(../images/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../images/nextlabel.gif) right 15% no-repeat; }

#imageDataContainer{ font: 10px Verdana, Helvetica, sans-serif; background-color: #082D08; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100% ; }

#imageData{ padding:0 10px; color: #66cc33; }
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }
#imageData #caption{ font-weight: bold; }
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em; }
#imageData #bottomNavClose{ width: 66px; float: right; padding-bottom: 0.7em; outline: none;}


#overlay{ position: absolute; top: 0; left: 0; z-index: 90; display:block; width: 100%; height: 100%; background-color: #000; }



As you can see, the position is already absolute.