2009-06-07 8 views

Répondre

4

Pour faire une div apparaît au milieu de l'écran, vous avez besoin de deux divs, l'un dans l'autre:

  • La div extérieure est a une position fixe au dessus de 50%; gauche: 0px; droite 0px; hauteur: 1px et débordement: visible
  • La div innder est absolument positionnée à gauche: 50%, en haut: moins la hauteur de la div et a une marge à gauche de moins la largeur de la div. C'est:
#
<div id="outerDiv"> 
    <div id="innerDiv"> 
     Your content 
    </div> 
</div> 
#outerDiv 
{ 
    position: fixed; 
    top: 50%; 
    height: 1px; 
    left: 0px; 
    right: 0px; 
    overflow: visible; 
} 

#innerDiv 
{ 
    position: absolute; 
    width: 200px; 
    height: 100px; 
    left: 50%; 
    margin-left: -100px; 
    top: -50px; 
} 

Ne pas oublier que IE6 ne supporte pas de position: fixe de sorte que vous pouvez revenir à la position: absolute et faites défiler vers le haut de la page si vous détectez IE6. Comme pour le bookmarklet: vous devez écrire javascript qui construit ces éléments et l'ajouter au bas de la page. Here's a detailed tutorial on adding elements to a page with javascript.

+0

merci, bonne réponse. est-il possible de faire défiler le navigateur comme vous l'avez mentionné re: IE 6? – chris

+0

peu importe que cela fonctionne – chris

3
 
javascript:var theDiv = document.createElement('div') ; theDiv.appendChild(document.createTextNode('hello')) ; theDiv.style.position="absolute";theDiv.style.left='50%';theDiv.style.top='50%';theDiv.style.border='solid 2px black'; document.body.appendChild(theDiv) ; void(0); 
Questions connexes