垂直居中是css布局中常見的需求,但對于未知高度的元素,卻稍微麻煩一些。本文將探討css中實現未知高度元素垂直居中的方法。
.parent { display: flex; justify-content: center; align-items: center; } .parent >div { margin: auto; }
以上代碼是使用flex布局實現垂直居中的方式。對于父元素,我們使用flex布局,通過justify-content: center 和 align-items: center 將子元素水平和垂直居中。對于子元素,我們設置margin: auto,這會使元素自動分配多余空間使其垂直居中。
.parent { position: relative; } .parent >div { position: absolute; top: 50%; transform: translateY(-50%); }
如果我們不想使用flex布局,我們可以使用絕對定位的方式。對于父元素,我們設置為相對定位。對于子元素,我們設置為絕對定位,使用top: 50%將它移到父元素的中間位置,使用transform: translateY(-50%)再將其向上移動半個元素的高度,使其垂直居中。
.parent { display: table; } .parent >div { display: table-cell; vertical-align: middle; }
如果我們寧愿用表格布局,我們可以使用display: table 和 display: table-cell來實現。父元素使用table布局,而子元素使用table-cell布局,并使用vertical-align: middle將其垂直居中。
總之,以上三個方法都能夠實現未知高度的元素垂直居中,具體使用哪種方法取決于具體應用場景和個人偏好。
下一篇朝啼白帝彩云間css