最近,越來(lái)越多的網(wǎng)站開(kāi)始采用瀑布流布局,它可以讓頁(yè)面更加美觀,且能夠更好地展示各種圖片。
下面就是一個(gè)實(shí)際的例子,展示如何利用CSS實(shí)現(xiàn)一個(gè)瀑布流布局。
.grid { display: flex; flex-wrap: wrap; margin: -8px 0 0 -8px; } .grid-item { margin: 8px 0 0 8px; width: calc(33.33% - 8px); }
以上代碼中,給出了一個(gè)grid類,它的display屬性設(shè)置為flex,用來(lái)讓每一個(gè)瀑布流子項(xiàng)都能夠按照縱向排列。
同時(shí),我們還需要在每個(gè)子項(xiàng)中設(shè)置一些CSS樣式,讓它們能夠按照我們期望的展示效果出現(xiàn)。
.grid-item img { width: 100%; height: auto; display: block; } .grid-item { position: relative; overflow: hidden; background: #f4f4f4; } .grid-item:before { content: ""; display: block; padding-top: 75%; } .grid-item >.content { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px; background: rgba(0,0,0,0.5); color: #fff; visibility: hidden; opacity: 0; transition: all 0.4s ease-in-out; } .grid-item:hover >.content { visibility: visible; opacity: 1; }
上述代碼中,我們首先設(shè)置了每一個(gè)子項(xiàng)中圖片的寬度和高度,用來(lái)使圖片填滿整個(gè)容器。
同時(shí),我們還可以利用:before和:after偽元素,讓每個(gè)子項(xiàng)都有一個(gè)占位塊,讓瀑布流更加美觀。
最后,我們還對(duì)每個(gè)子項(xiàng)添加了一個(gè).content區(qū)域,用來(lái)展示圖片的描述信息。當(dāng)鼠標(biāo)懸停在圖片上時(shí),這個(gè)區(qū)域會(huì)出現(xiàn),讓用戶能夠更好地了解圖片的信息。
總的來(lái)說(shuō),利用CSS實(shí)現(xiàn)一個(gè)瀑布流布局是非常簡(jiǎn)單的,只需要一些基本的CSS樣式和一些小技巧,就能夠輕松地實(shí)現(xiàn)一個(gè)美觀的瀑布流布局。