Bu sorunun iki yıldan uzun bir süre önce sorulduğunun farkındayım, ancak yeni izleyiciler için işte Marc-François'nın çözümüne göre birkaç avantajı olan alternatif bir çözüm:
div {
height: 50px;
border: 1px solid blue;
line-height: 50px;
}
Burada sadece line-heightdiv'in yüksekliğine eşit bir ekliyoruz . Bunun avantajı, div'in display özelliğini artık uygun gördüğünüz gibi değiştirebilmenizdir ve inline-blockiçeriği dikey olarak ortalanmış olarak kalacaktır. Kabul edilen çözüm, div'i bir tablo hücresi olarak değerlendirmenizi gerektirir. Bu, tarayıcılar arası mükemmel şekilde çalışmalıdır.
Diğer tek avantaj, iki yerine sadece bir CSS kuralı olmasıdır :)
Şerefe!
<table>ve uygulamakvalign='middle'onun için<td>s.