Tôi biết rằng câu hỏi này đã được hỏi cách đây hơn hai năm, nhưng đối với bất kỳ người xem nào gần đây, đây là một giải pháp thay thế, có một vài ưu điểm so với giải pháp của Marc-François:
div {
height: 50px;
border: 1px solid blue;
line-height: 50px;
}
Ở đây chúng ta chỉ cần thêm một line-height
bằng chiều cao của div. Lợi thế là bây giờ bạn có thể thay đổi thuộc tính hiển thị của div khi bạn thấy phù hợp, inline-block
chẳng hạn, và nội dung của nó sẽ vẫn được căn giữa theo chiều dọc. Giải pháp được chấp nhận yêu cầu bạn xử lý div như một ô bảng. Điều này sẽ hoạt động hoàn hảo, trên nhiều trình duyệt.
Ưu điểm duy nhất khác là nó chỉ có thêm một quy tắc CSS thay vì hai :)
Chúc mừng!
<table>
và áp dụngvalign='middle'
cho<td>
s của nó .