2009-11-03 4 views
13

J'ai un div avec une hauteur de 30px.Comment centrer verticalement une étiquette dans un div?

Je veux ajouter du texte brut à ce div. Comment puis-je faire apparaître le texte en clair au centre de ma div? par exemple, le texte sera affiché 15px sous le début du div.

J'ai essayé une étiquette avec margin-top: 15; mais ça n'a pas marché.

Répondre

1

Utilisez padding-top au lieu de margin-top. Rappelez-vous que l'ajout de remplissage au sommet est ajouté à la hauteur, vous devez donc réduire la quantité que vous utilisez pour le remplissage de la hauteur. Si vous venez toujours voulez pour le texte d'avoir 15px en haut et en bas de celui-ci, tout simplement faire:

padding: 15px 0px; 

Sans préciser la hauteur du tout.

+0

Je pense que le demandeur qu'il veut être 30px, la hauteur du texte inclus. – mauris

+0

embêtant le temps de styliser ce formulaire de contact, votre suggestion a résolu, thx !! – dcparham

8

Vous pouvez:

<div style="height:30px; line-height:30px; text-align:center;"> 
    Label 
</div> 

Régler le line-height du texte que vous aide à adapter à la hauteur d'une ligne seulement.

+0

Ajout de ligne-hauteur à mon style div résolu le problème – Ziggler

22
height: 30px; line-height: 30px; padding: 0; 
+0

Merci Man. Il m'a aidé .. – Krishnan

0

si vous voulez quoi que ce soit d'être dans le centre de celui-ci est parent, juste donner la largeur spécifique de parent en utilisant le style et donner le style enfant = « margin: 0 auto ». bonne chance

+0

Horizontal et non-IE6, oui. Mais la question portait sur le positionnement vertical. –

10

Après CSS travaillerait

text-align:center; 
vertical-align:middle; 
display:table-cell; 
+3

Pas dans IE si ... – DisgruntledGoat

+0

@DisgruntledGoat travaillé dans IE8, qui IE ne fonctionne pas spécifiquement? – anpatel

+1

@MyName cette réponse a été posté à l'origine il y a 3 ans **, quand IE6 et IE7 avaient encore une part de marché importante. Alors maintenant, il devrait être acceptable d'utiliser. – DisgruntledGoat

0

L'élément <label></label> est pas un élément de niveau bloc, il est un élément en ligne.

Essayez ce code <div style="height:30px"> <label style="display:block; margin-top:15px;"> </label> </div>

0
#MyDiv 
{ 
    background-image: url(images/pagedescription_bar.png); 
    background-repeat: repeat-x; 
    border-color: #868686; 
    border-width: thin; 
    border-style: solid; 
    border-style: none; 
    width: 1008px; 
    height:70px; 
    color: #FB8022; 
    font-size: 16px; 
    font-weight: bold; 
} 

#MyDiv label 
{ 
    width: 1008px; 
    text-align: center; 
    height: 70px; 
    vertical-align: middle; 
    display:table-cell; 
} 
Questions connexes