2010-12-16 11 views
5

Mi clase .cent es para elementos <li>. Quiero centrar el texto del <li> tanto horizontal como verticalmente. text-align:center; se ocupa del centrado horizontal, pero el centrado vertical no funciona. ¿Cuál es el truco de CSS para esto?css truco para centrar horizontal y vertical

.cent{ 
    height:20px; 
    width:20px; 
    text-align:center; 
    vertical-align: middle; 
} 
+0

Creo que esta pregunta que le hice podría ayudarlo también. http://stackoverflow.com/questions/4445133/css-line-height-property-how-it-works-simple ¡Buena suerte! – Trufa

+0

Pruebe [este enlace] (http://phrogz.net/css/vertical-align/index.html). Buena explicación y dos posibles soluciones. – Zabba

Respuesta

6

Usa line-height la propiedad.

Establézcalo igual a la altura del elemento, y el texto se centrará verticalmente.

.cent{ 
    height: 20px; 
    width: 20px; 
    text-align: center; 
    /*vertical-align: middle;*/ 
    line-height: 20px; 
} 
+0

Sin embargo, esto no funcionará si hay más de 1 línea de texto (aunque odiaría ver> 1 línea de texto en un contenedor de 20 px de alto: P). – alex

1

¿Cuál es su elemento principal?

.parent { 
    position: relative; 
} 

.cent { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    margin-left: -10px; 
    margin-top: -10px; 
} 

O si desea vertical-align: middle a trabajar, ponga display: table-cell.

0

intenta establecer el estilo de etiqueta etiquetas li, margen y el relleno son le ayudará a

igual,

# set default 
li 
    { 
    margin: 0; 
    padding: 0; 
    } 

después de escribir el estilo para su ciento de clase, se afecta la etiqueta li correctamente

Cuestiones relacionadas