Ich habe eine horizontale <ul>
und ich muss jede <li>
vertikal darin zentrieren. Mein Markup ist unten. Jeder <li>
hat einen Rand, und ich brauche die Gegenstände sowie deren Inhalt, um vertikal in der Mitte zu sein. Bitte helfen Sie; Ich bin neu in 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>
Antworten:
Ich gehe davon aus, dass Sie sich keine Sorgen um den Internet Explorer oder ältere Browser machen, da Sie eine XML-Deklaration verwenden.
So können Sie verwenden
display:table-cell
unddisplay:table-row
mögen:quelle
<?xml?>
Erklärung? Alle Versionen von IE unterstützen XHTML nicht wirklich. Ich denke, Sie müssen möglicherweise das Senden von XHTML als Text / HTML lesen. Als schädlich eingestuft: hixie.ch/advocacy/xhtmlHier ist eine gute:
Setze
line-height
gleich was auch immer dasheight
ist; klappt wunderbar!Z.B:
quelle
Sie können hierfür die Flexbox verwenden.
Eine ausführliche Erklärung zur Verwendung der Flexbox finden Sie hier .
quelle
Ich hatte das gleiche Problem. Versuche dies.
quelle