在CSS中,我們常常會遇到讓塊元素上下居中的情況,比如讓一個div元素的內容垂直居中。下面我們來介紹一些實現方法。
/* 第一種方法:使用line-height */ .box { line-height: 200px; /*父元素高度為200px*/ } .box p { line-height: 1; /*恢復文本正常行高*/ } /* 第二種方法:使用flex布局 */ .box { display: flex; align-items: center; justify-content: center; } /* 第三種方法:使用absolute定位 */ .box { position: relative; } .box p { position: absolute; top: 50%; transform: translateY(-50%); }
通過上述方法,我們可以輕松實現塊元素上下居中的效果。其中使用line-height的方法比較簡單易懂,但是需要注意到文本的行高也會被影響,需要恢復文本正常行高;使用flex布局可以解決多個元素在同一高度垂直居中的問題,但是需要瀏覽器支持;使用absolute定位需要父級元素設置position: relative,但是可以方便地控制元素的精確位置。