相信對於網站開發有一定經驗的朋友一定對瀑布流 UI 不陌生,其中最有名的以瀑布流 UI 為版面配置的就屬 pintreset,那如果我們要在自己的網站上使用瀑布流 UI 的配置的話,一般我們都是使用 Masonry 這一個 js 的套件。
要使用的話先把 js 讀入:
<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
配置 HTML:
<div class="grid">
<div class="grid-item">...</div>
<div class="grid-item grid-item--width2">...</div>
<div class="grid-item">...</div>
...
</div>
套用 js:
$('.grid').masonry({ // options itemSelector: '.grid-item', columnWidth: 200 });
現在也支援 RWD,可以多 percentPosition: true 這個設定:
$('.grid').masonry({ // set itemSelector so .grid-sizer is not used in layout itemSelector: '.grid-item', // use element for option columnWidth: '.grid-sizer', percentPosition: true })
又由於我們使用瀑布流 UI 大多都是用在圖片,所以如果希望圖片也能夠以瀑布流 UI 的方式排列,還要再讀取 imagesLoaded 這隻套件。
整合起來就會像這樣使用:
var $grid = $('.grid').masonry({ // options... }); // layout Masonry after each image loads $grid.imagesLoaded().progress( function() { $grid.masonry('layout'); });