在CSS布局中,有時(shí)我們需要讓一個(gè)元素底部對(duì)齊,但是遇到了一種問題——CSS層無法底部對(duì)齊。
造成這種問題的原因是,元素定位是根據(jù)元素的上邊界定位的,也就是說層的位置是根據(jù)元素的向上偏移量來決定的。所以即使我們?cè)O(shè)置了bottom值,元素也無法往下移,從而無法底部對(duì)齊。
示例代碼: .container { position: relative; height: 200px; } .box { position: absolute; bottom: 0; }
以上代碼將 .box 元素設(shè)置在容器底部,但是由于元素底部對(duì)齊的原理, .box 無法往下偏移,導(dǎo)致無法實(shí)現(xiàn)底部對(duì)齊。
對(duì)于這個(gè)問題,我們可以通過添加偽元素::before使元素向下偏移。我們需要對(duì) .box 元素添加如下CSS代碼:
.box::before { content: ""; display: block; height: 100%; margin-bottom: -100%; }
這里設(shè)置了 .box 的偽元素高度為100%,并使用 margin-bottom向下偏移100%。這樣我們就實(shí)現(xiàn)了元素底部對(duì)齊。
完整示例: .container { position: relative; height: 200px; } .box { position: absolute; bottom: 0; } .box::before { content: ""; display: block; height: 100%; margin-bottom: -100%; }
以上代碼就是完整的實(shí)現(xiàn)底部對(duì)齊的方法。