Tengo una horizontal <ul>
y necesito centrar cada una <li>
en ella verticalmente. Mi marcado está debajo. Cada uno <li>
tiene un borde, y necesito que los elementos, así como su contenido, estén en el medio verticalmente. Por favor ayuda; Soy nuevo en CSS.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
.toolbar li
{
border: solid 1px black;
display: block;
float: left;
height: 100px;
list-style-type: none;
margin: 10px;
vertical-align: middle;
}
.toolbar li.button
{
height: 50px;
}
</style>
</head>
<body>
<div class="toolbar">
<ul>
<li><a href="#">first item<br />
first item<br />
first item</a></li>
<li><a href="#">second item</a></li>
<li><a href="#">last item</a></li>
<li class="button"><a href="#">button<br />
button</a></li>
</ul>
</div>
</body>
</html>
Respuestas:
Supongo que, dado que está utilizando una declaración XML, no se preocupa por IE o navegadores antiguos.
Entonces puedes usar
display:table-cell
y medisplay:table-row
gusta:fuente
<?xml?>
declaración? Todas las versiones de IE no son compatibles con XHTML. Creo que es posible que deba leer Enviar XHTML como texto / html Considerado perjudicial: hixie.ch/advocacy/xhtmlAquí hay uno bueno:
Establecer
line-height
igual a lo que seaheight
; ¡Funciona de maravilla!P.ej:
fuente
Puedes usar flexbox para esto.
Puede encontrar una explicación detallada de cómo usar flexbox aquí .
fuente
Yo tuve el mismo problema. Prueba esto.
fuente