2011-07-05 4 views

Répondre

0

Ma réponse ne fonctionne que si l'arrière-plan de l'intérieur div n'a pas de couleur de fond. Comme votre exemple le fait, j'ajoute un troisième div. Le second est pour le centrage, le troisième est pour la coloration.

<div style="width:250px;height:250px;background:red;position:relative;"> 
    <div style="width:100px;height:100px;position:absolute;padding-left:50%;margin-left:-50px"> 
    <div style="background:blue;padding:0px;"></div> 
    </div> 
</div> 

La chose importante à noter ici est la suivante: padding-left:50%;margin-left:-50px;. -50px étant la moitié de la largeur de div.

0
<div style="width:250px;height:250px;background:red;position:relative;"> 
    <div style="width:100px;height:100px;background:blue;position:absolute; margin: auto;"></div> 
</div> 

l'auto de marge devrait centrer votre div à la fois horizontalement et verticalement

+0

Merci pour votre réponse, mais il ne fonctionne pas – manraj82

+0

Oui et non ... dépend du navigateur. – SteeveDroz

+0

Oui, ça dépend ... les problèmes étaient sur IE6 et l'opéra, si je ne me trompe pas ... peut-être IE7 aussi. Si vous avez besoin d'une navigation croisée complète, alors 'margin-left: 75px' et 'margin-right: 75px' est la réponse, mais il est limité à votre external_div_width - internal_div_width –

0

Si vous connaissez les dimensions de chaque div et vous prévoyez de continuer à utilisez position:absolute;, vous venez de définir les coordonnées top et left. Donc, quelque chose comme ça dans le intérieur div

top:75px; left:75px;

http://jsfiddle.net/jasongennaro/zQjaU/

* Peut être hors quelques px. Vous devrez peut-être ajuster.

Questions connexes