Saya memiliki horizontal <ul>
dan saya harus memusatkan masing-masing <li>
di dalamnya secara vertikal. Markup saya ada di bawah. Masing-masing <li>
memiliki batas, dan saya perlu item serta isinya berada di tengah secara vertikal. Tolong bantu; Saya baru mengenal 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>
Jawaban:
Saya berasumsi bahwa karena Anda menggunakan deklarasi XML, Anda tidak mengkhawatirkan IE atau browser lama.
Jadi, Anda dapat menggunakan
display:table-cell
dandisplay:table-row
menyukainya:sumber
<?xml?>
deklarasi? Semua versi IE tidak benar-benar mendukung XHTML. Saya pikir Anda mungkin perlu membaca Mengirim XHTML sebagai teks / html Dianggap Berbahaya: hixie.ch/advocacy/xhtmlIni yang bagus:
Set
line-height
sama dengan apapunheight
itu; bekerja seperti pesona!Misalnya:
sumber
Anda dapat menggunakan flexbox untuk ini.
Penjelasan mendetail tentang cara menggunakan flexbox dapat ditemukan di sini .
sumber
Saya memiliki masalah yang sama. Coba ini.
sumber