2012-04-24 7 views
5

J'ai un problème avec le centrage div en HTML (vertical & horizontal). Mon code ressemble à ceci:Comment centrer div?

<div id="container">SOME HTML</div> 

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 50%; 
    top: -137px; 
    left: -188px; 
    position:absolute; 
} 

Seul le centre de chrome cette div dans le milieu de l'écran.

+4

je manquer quelque chose, mais comment vous attendez-vous au centre d'un div si vous utilisez le positionnement absolu? Supposez-vous que tous les écrans ont la même taille et la même résolution? –

Répondre

1

Cela fait le tour (vertical & horizontal):

#container{ 
    position: absolute; 
    width: 366px; 
    height: 274px; 
    left: 50%; 
    top: 50%; 
    margin-left: -183px; /* half width */ 
    margin-top: -137px; /* half height */ 
} 
7

Ce centrera le <div> horizontalement:

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 0 auto; 
} 

Centrer avez est pas tout à fait simple, vous verticalement peut-être utiliser javascript pour cela, ou vous essayez this css solution.

1

Vous pouvez utiliser:

#container { 
    // Your other values, but remove position: absolute; 
    margin: 0 auto; 
} 

Vous pouvez faire:

#wrapper, #container { 
    border: 1px solid red; 
    height: 500px; 
    width: 600px; 
} 

#wrapper { 
    bottom: 50%; 
    right: 50%; 
    position: absolute; 
} 

#container { 
    background: yellow; 
    left: 50%; 
    padding: 10px; 
    position: relative; 
    top: 50%; 
} 

Et vous êtes le code HTML:

<div id="wrapper"> 
    <div id="container"> 
     <h1>Centered Div</h1> 
     <p> 
      This div has been centered within your browser window.</p> 
    </div> 
</div> 

Ce centre la <div> au milieu de la fenêtre du navigateur.

-1

devrait être bon d'utiliser simplement CSS:

est ici le demo

#container{ 
    width: 366px; 
    height: 274px; 
    margin: 50%; 
    top: 50%; 
    left: 50%; 
    position:absolute; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
}​ 
+0

n'a pas eu, pourquoi c'est-1? Est-ce mal comment? – AlexC

2
#container{ 
    width: 366px; 
    height: 274px; 
    top: 50%; 
    left: 50%; 
    margin: -137px 0 0 -188px; 
    position:absolute; 
} 
+0

Merci beaucoup! ;) Maintenant ça marche. – What

1

Essayez celui :

<div class="cont"> 
    <div class="box"></div> 
</div> 

Css:

.cont{ 
    background-color: tomato; 
    width: 600px; 
    height: 400px; 
    position: relative; 
} 
.box { 
    width:100px; 
    height:100px; 
    background-color: teal; 
    color:#fff; 
    position: absolute; 
    left: 50%; 
    top: 50%; 
    transform: translate(-50%, -50%) 
}