Pour ajouter une lightbox à votre page, il n'est pas besoin d'inclure un gros framework Ajax, quelques lignes de CSS et JavaScript suffisent!
Une lightbox est une fenêtre qui affiche un contenu soit statique, soit dynamique, tandis que la page dans le fond est obscurcie. C'est là la source de l'effet: la boite se trouve ainsi comme éclairée.
Nous allons réaliser facilement ce effet avec deux <div>. La premier est un filtre qui recouvre la page entière avec une opacité réduite. Le second est un conteneur pour notre boite, qui s'affiche à la demande.
Démonstration simple avec un contenu statique.
Pour afficher la boite, cliquer sur le lien ouvrir
Contenu dynamique dans la démo suivante...
Création d'un filtre pour assombrir le fond
Le filtre est une balise <div> positionné par CSS sur l'ensemble de la page.
<div id="shadowing">
  #shadowing
{
  display: none;
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: #CCA;
  z-index:10;
  opacity:0.5;
}
  La propriété display:none fait que le filtre n'est pas 
    affiché au départ, on la change en display:block au moment 
    ou l'on veut le faire apparaître.
    La propriété z-index permet de placer le filtre au-dessus 
    des autres éléments de la page. 
    L'opacité de 0.5 crée un filtre semi-transparent, elle peut 
    varier de 0 (transparence) à 1 (opaque).
    
    Le couleur #CCA donne une teintre de vieux papier au filtre. On choisit la 
    teinte en modifiant cette couleur.
Création de la boite lumineuse
Pour réaliser une boite, on utilise une seconde <div>, qui selon le même principe, n'est pas affichée au départ, et le devient quand l'utilisateur clique sur l'objet à afficher.
<div id="box"  onclick="document.getElementById('box').style.display='none';
                 document.getElementById('filter').style.display='none'">
</div>
  #box 
{
  display: none;
  position:fixed;
  top: 20%;
  left: 20%;
  width: 60%;
  height: 60%;
  max-height:400px;
  padding: 0;
  margin:0;
  border: 1px solid black;
  background-color: white;
  z-index:11;
  overflow: auto;
}
  La méthode onclick de DOM déclenche deux évènements. 
    On selectionne le filtre par son identifieur filter et on déclenche 
    son affichage. On sélectionne la boite par son identifieur firstbox 
    et on déclenche son affichage simultanément.
    z-index ici est juste un niveau au dessus celui du filtre.
    overflow: auto faire apparaître des barres de défilement 
    si la taille du contenu dépasse celle de la boite. 
Ajouter un bouton pour fermer la boite
Le bloc contient des <div> imbriqués:
<div id="box" >
<div id="boxheader">
      <span id="boxtitle"> Titre pour le contenu (image, formulaire ou autre)</span>
       <span id="boxclose" onclick="document.getElementById('box').style.display='none';
                 document.getElementById("shadowing").style.display='none'"> 
      </span>
</div>
<div id="boxcontent"> Ceci est le contenu statique provisoire  de la boite.  </div>
</div>
  Nous avons structuré la boite pour lui donner une barre de titre (header), afficher un bouton de fermeture (boxclose), et une zone de contenu (boxcontent).
Dans la zone de contenu, on peut placer un contenu statique, comme on le voit dans la première démo.
- Télécharger l'archive .  Contient plusieurs démonstrations et le code CSS et JavaScript. 
 
lightbox
discoliv
webmaster
element.style.width="256px";
element.style.height="256px";
Il faudra aussi assigner les valeurs de top et left en fonction de la taille de l'image.