2009-11-03 20 views
13

Tengo un div con una altura de 30px.¿Cómo centro verticalmente una etiqueta en un div?

Quiero agregar texto sin formato a este div. ¿Cómo puedo hacer que el texto sin formato aparezca en el centro de mi div? es decir, el texto se mostrará 15px en la parte superior de div.

Probé una etiqueta con margin-top: 15; pero no funcionó.

Respuesta

1

Use relleno superior en lugar de margen superior. Recuerde que agregar relleno a la parte superior se agrega a la altura, por lo que debe reducir la cantidad que utiliza para el relleno desde la altura. Si acaba siempre quiere que el texto se 15px en la parte superior e inferior de la misma, simplemente hacer:

padding: 15px 0px; 

Sin especificar la altura en absoluto.

+0

Creo que el autor de la pregunta quiere que sea de 30px, altura del texto incluido. – mauris

+0

molesto tiempo tratando con el estilo de este formulario de contacto, su sugerencia lo resolvió, ¡¡tx !! – dcparham

8

Puede:

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

Ajuste el line-height del texto le ayuda a adaptarse a la altura de una sola línea.

+0

Agregando line-height a mi estilo div resolvió el problema – Ziggler

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

Thanks Man. Me ayudó ... – Krishnan

0

si quieres algo para estar en el centro de él es el padre, acaba de dar el ancho específico de los padres usando el estilo y dar al niño del estilo = "margin: 0 auto". buena suerte

+0

Horizontal y no IE6, sí. Pero la pregunta era sobre posicionamiento vertical. –

10

siguiente CSS funcionaría

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

No en IE ... – DisgruntledGoat

+0

@DisgruntledGoat funcionó en IE8, ¿con qué IE específicamente esto no funciona? – anpatel

+1

@MyName esta respuesta se publicó originalmente ** hace 3 años **, cuando IE6 e IE7 aún tenían una gran cuota de mercado. Entonces ahora debería estar bien usarlo. – DisgruntledGoat

0

El <label></label> El elemento no es un elemento de bloque es un elemento en línea.

probar este código <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; 
} 
Cuestiones relacionadas