Las variaciones en esta pregunta se han hecho muchas veces. El centrado vertical con CSS es un desafío.¿Cómo puedo usar CSS para centrar verticalmente el texto en un delimitador, dentro de un LI?
que tienen un escenario particular, se trata de una lista que se muestra horizontalmente. El marcado es así:
<ul id='ul1' class='c'>
<li><a href='javascript:void(0)'>Fribble Fromme</a></li>
<li><a href='javascript:void(0)'>Fobble</a></li>
<li><a href='javascript:void(0)'>Foo Fickle Pickle</a></li>
</ul>
El estilo es como esto:
ul.c {
height:52px;
text-align:center;
}
ul li a {
float:left;
text-decoration:none;
border: 1px solid Maroon;
padding:2px 12px;
background:#FFEF8A;
line-height:1em;
width:100px;
}
ul li a:hover {
background: #CCC;
}
ul li {
height:52px;
display:inline-block;
}
La lista resultante es el siguiente:
pero quiero todos los requisitos para ser la misma altura, y quiero que el texto se centre verticalmente en cada cuadro. Puedo establecer la altura del cuadro agregando un estilo height
para los elementos A. El resultado es el siguiente:
... que está cerca de lo que yo quiero, sino el centrado vertical no está sucediendo.
Puedo configurar line-height
para el texto, as suggested in this post, para hacer el centrado vertical. Incluso puedo elegir diferentes valores de line-height
para diferentes elementos A, si sé cuál de los elementos recibirá varias líneas de texto. Pero no sé cuáles requerirán líneas múltiples.
¿Cómo puedo conseguir que el centro cuando algunos de los elementos A tienen texto que se ajusta?
¡Utilice las temidas tablas! –