我可以垂直居中一行文本line-height
,但也可以使用padding-top
和padding-bottom
。行高與填充垂直居中單行文本
每個的優缺點是什麼?
body {
font-size: 12px;
font-family: sans-serif;
}
div {
border: 1px solid #333;
padding-left: 10px;
padding-right: 10px;
display: inline-block;
}
.vcenter1 {
line-height: 50px;
}
.vcenter2 {
padding-top: 19px;
padding-bottom: 19px;
}
<div class="vcenter1">Lorem ipsum line-height...</div>
<div class="vcenter2">Lorem ipsum padding...</div>
這聽起來有點像「告訴我的方式來垂直對齊使用CSS的東西」,這已經討論*令人作嘔*所有在互聯網上的一個話題。只需使用適合您的方式之一即可。其他的方法包括'display:flex','display:table-cell',['position:relative' with'top'和'transform']](http://zerosixthree.se/vertical-align-anything -with-只是-3-線-的-CSS /)。無論如何,這裏邀請開放式討論的問題是[off-topic](http://stackoverflow.com/help/on-topic)。 – Tomalak
@Tomalak我只想特別瞭解這兩種情況的區別。現在,對我來說,他們似乎都做同樣的事情。恐怕有些事情我不知道我在使用任何一種方法時都沒有考慮到。 –
我們應該避免使用填充來居中內容,因爲我們永遠不會知道容器的確切高度。字體的高度在不同的瀏覽器中呈現不同。 –