CSS中有一個非常有用的選擇器是::after
偽元素,它可以用來實現(xiàn)從下往上折疊隱藏效果。
首先,我們需要給要折疊隱藏的元素加上一個父元素,并將該父元素設(shè)置為相對定位。
.parent { position: relative; }
接下來,我們給父元素的::after
偽元素添加樣式,并設(shè)置寬度、高度和底部為0,讓其覆蓋在父元素內(nèi)容的上面。同時,我們還要把偽元素的背景色設(shè)置為與父元素背景色相同,以達(dá)到隱藏的效果。
.parent::after { content: ""; position: absolute; bottom: 0; width: 100%; height: 0; background-color: white; }
最后,我們給觸發(fā)事件的元素添加點擊事件,在事件中判斷父元素是否有open
類名,如果有則移除,否則添加該類名,同時修改::after
偽元素的高度為100%。最后,我們還可以在::after
偽元素的樣式中添加過渡,讓折疊隱藏的效果更加平滑。
.button { cursor: pointer; } .parent.open::after { height: 100%; } .parent.open::after { transition: height 0.3s ease; }
好了,這樣我們就成功實現(xiàn)了從下往上折疊隱藏的效果。