如何使用 CSS 垂直對齊內容?將 div 置於 DOM 元素中間的最佳做法是什麼,其優缺點是什麼?
1、使用 position 屬性
position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); |
缺點:transform 無法改變元素的佈局,尤其是當元素在 left: 50% 和 top:50%以下.
2、Flexbox
display: flex; justify-content: center; align-items: center; |
缺點:找不到任何缺點。
<div class=<font>"container"> |
3、Grid
display: grid; place-items: center; |
缺點: Grid針對這樣的簡單用例有點過度設計
<div class=<font>"container"> |
4、垂直對齊
display: inline-block; vertical-align: middle; |
缺點:當元素不是內聯時無用。
5、 margin 0 auto
仍然是水平居中的不錯選擇!否則 99% 的時間都是Flexbox
最後:
- 並沒有一種最好的方法來實現“將 div 置於中心”。
- 這取決於將其置於何處(上下文)以及為何。
- 人們實際上不需要“將 div 居中” 大多數時候真正的答案是padding。