在前一篇 css水平居中 中,我们了解到了 CSS 水平布局的几种方式。那么如果一个元素需要垂直居中,那么又该怎么利用 CSS 实现呢?
一、实现方式
1 | <div class="parent"> |
1. table表格 table-cell + vertical-aligin
1 | .parent { |
2. 绝对定位 absolute + transform
1 | .parent { |
3. flex布局 flex + align-items
1 | .parent { |
4. grid表格 grid + align-self
1 | .parent { |
二、补充说明
以上均是考虑到页面内容不定高的情况。事实上如果子元素宽度确定,也可以直接用padding
、magin
计算的方式使其垂直居中。