首頁 web前端 css教學 什麼是瀑布流佈局?瀑布流佈局的實作方法

什麼是瀑布流佈局?瀑布流佈局的實作方法

Sep 28, 2018 pm 01:34 PM
瀑布流佈局

網頁在進行佈局的時候,有時會用到一種佈局方式叫做瀑布流佈局,那麼,瀑布流佈局是什麼樣的呢?本篇文章將來要為大家介紹一下關於瀑布流佈局的實作方法。

首先我們來看看瀑布流佈局是什麼?

根據百度百科上面的定義我們可以知道瀑布流,又稱為瀑布流式佈局。是比較流行的一種網站頁面佈局,視覺表現為參差不齊的多欄佈局,隨著頁面滾動條向下滾動,這種佈局還會不斷加載資料塊並附加至當前尾部。

接著我們來看瀑布流佈局原理是什麼?

瀑布流佈局的原理就是頁面容器內的多個高度不固定的div之間按照一定的間隔參差不齊的無序浮動,滑鼠滾動時不斷在容器內的尾部加載數據,且自動載入到空缺位置,不斷循環。

看完了上述瀑布流佈局的定義和原理後,我們就來看看瀑布流佈局的實作方法

瀑布流佈局的核心是基於一個網格的佈局,而且每行包含的項目列表高度是隨機的(隨著自己內容動態變化高度),同時每個項目列表呈堆疊形式排列,最關鍵的是,堆疊之間彼此之間沒有多餘的間距差存大。

下面我們就來看瀑布流佈局的實作程式碼

#1、純css瀑布流佈局程式碼:

#
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>CSS3瀑布流</title>
    <style>
    /*大层*/
    .container{width:100%;margin: 0 auto;}
    /*瀑布流层*/
    .waterfall{
        -moz-column-count:4; /* Firefox */
        -webkit-column-count:4; /* Safari 和 Chrome */
        column-count:4;
        -moz-column-gap: 1em;
      -webkit-column-gap: 1em;
      column-gap: 1em;
    }
    /*一个内容层*/
    .item{
      padding: 1em;
      margin: 0 0 1em 0;
      -moz-page-break-inside: avoid;
      -webkit-column-break-inside: avoid;
      break-inside: avoid;
     border: 1px solid #000;
    }
    .item img{
        width: 100%;
        margin-bottom:10px;
    }
    </style>
</head>
<body>
    <div>
        <div>
            <div>
                <img  src="/static/imghw/default1.png"  data-src="http://img2.imgtn.bdimg.com/it/u=1977804817,1381775671&fm=200&gp=0.jpg"  class="lazy"   alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >
                <p>风景图1</p>
           </div>
            <div>
                <img  src="/static/imghw/default1.png"  data-src="http://img0.imgtn.bdimg.com/it/u=624117570,2702945706&fm=200&gp=0.jpg"  class="lazy"   alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >
                <p>风景图2</p>
           </div>
            <div>
                <img  src="/static/imghw/default1.png"  data-src="http://img4.imgtn.bdimg.com/it/u=2539922263,2810970709&fm=200&gp=0.jpg"  class="lazy"   alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >
                <p>风景图3</p>
           </div>
            <div>
                <img  src="/static/imghw/default1.png"  data-src="http://img0.imgtn.bdimg.com/it/u=3756090549,2773217785&fm=200&gp=0.jpg"  class="lazy"   alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >
                <p>风景图4</p>
           </div>
  <div>
                <img  src="/static/imghw/default1.png"  data-src="http://img4.imgtn.bdimg.com/it/u=3450240447,3799203473&fm=26&gp=0.jpg"  class="lazy"   alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >
                <p>风景图5</p>
           </div>
        </div>
    </div>
</body>
</html>
登入後複製

純css瀑布流佈局效果如下:

什麼是瀑布流佈局?瀑布流佈局的實作方法

#2、jquery簡易瀑布流佈局的實作程式碼:##

<div>
    <ul>
        <li><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"  class="lazy"   alt=""><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIRotxAATQL-FHoo4AAZe7wAE3dIABNBH087.jpg"  class="lazy"   alt=""></li>
        <li><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"  class="lazy"   alt=""><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIc82eAATduiUrt8UAAZe7wAAAAAABN3S513.jpg"  class="lazy"   alt=""></li>
        <li><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"  class="lazy"   alt=""><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIa-unAATupB6epU4AAZe7gP3KS0ABO68972.jpg"  class="lazy"   alt=""></li>
        <li><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIYAyaAAixGG1uSlAAAZe7wAJrhkACLEw058.jpg"  class="lazy"   alt=""><img src="/static/imghw/default1.png"  data-src="https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIDY1dAAZQlUpPjRsAAZe7gPw2IAABlCt755.jpg"  class="lazy"   alt=""></li>
    </ul>
</div>
登入後複製
        * {
    margin:0;
    padding:0;
}
body {
    min-height:200vh;
}
div {
    width:90%;
    margin:auto;
}
ul {
    margin-top:10px;
    list-style:none;
}
li {
    border:1px solid #000;
    border-radius:5px;
    width:24%;
    float:left;
    margin-right:2px;
}
img {
    width:98%;
    display:block;
    margin:auto;
    margin-bottom:5px;
}
登入後複製
var imgData = {
    data: [{
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIGWy8AAWUH9AG9zMAAZe7gPrREkABZQ3007.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJliEUgWIWzw0AAQmOu8l33oAAZe7gPdxW0ABCZS129.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
        },
        {
            src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
        },
        {
           src: "https://sjbz-fd.zol-img.com.cn/t_s120x90c/g5/M00/08/0A/ChMkJ1iEUgWIbpwIAAUz5kEUSy0AAZe7wASX0kABTP-083.jpg"
        },
    ]
};
var count = 0;
$(window).on(&#39;scroll&#39;, function() {
    $.each(imgData.data, function(index, value) {
        var $oImg = $(&#39;<img  src="/static/imghw/default1.png"  data-src="https://img.php.cn//upload/image/777/668/477/1538105297150941.png"  class="lazy"  alt="什麼是瀑布流佈局?瀑布流佈局的實作方法" >&#39;).attr(&#39;src&#39;, $(this).attr("src"));
        $oImg.appendTo($(&#39;li:eq(&#39; + count % 4 + &#39;)&#39;))
        count++;
    })
})
登入後複製

jquery簡易瀑布流佈局效果如下:

什麼是瀑布流佈局?瀑布流佈局的實作方法

#以上就是本篇文章的全部內容了,還有其他方法實現的瀑布流佈局例如原生js實現瀑布流佈局,這裡就不多說了,你可以自己去試試用js實現,或者可以去php中文網尋找對應的方法。


以上是什麼是瀑布流佈局?瀑布流佈局的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用Vue建立無限滾動和瀑布流佈局? 如何使用Vue建立無限滾動和瀑布流佈局? Jun 27, 2023 pm 01:32 PM

Vue.js是一種流行的JavaScript框架,它使開發者可以輕鬆地創建動態,響應式的網路應用程式。其中,尤其以其強大的組件化開發能力而備受開發者的青睞。而無限滾動和瀑布流佈局已成為現代Web開發中不可或缺的特性之一。本文旨在介紹如何使用Vue.js,結合一些第三方函式庫,實現無限滾動和瀑布流佈局的功能。實現無限滾動無限滾動(Infinit

如何使用HTML和CSS實現瀑布流商品展示佈局 如何使用HTML和CSS實現瀑布流商品展示佈局 Oct 21, 2023 am 09:25 AM

如何使用HTML和CSS實現瀑布流商品展示佈局瀑布流佈局是一種常見的網頁設計方式,特點是呈現出錯落有致、動態有序的視覺效果。在商品展示網頁中應用瀑布流佈局可以提高商品的展示效果,吸引使用者的注意。本文將介紹如何使用HTML和CSS實現瀑布流商品展示佈局,並提供具體的程式碼範例。一、HTML結構首先,我們需要建構一個基本的HTML結構,以容

使用CSS實現響應式卡片瀑布流佈局的技巧 使用CSS實現響應式卡片瀑布流佈局的技巧 Nov 21, 2023 am 08:26 AM

使用CSS實現響應式卡片瀑布流佈局的技巧隨著行動裝置的普及和網頁內容的多樣化,響應式設計已成為現代web開發的基本要求之一。其中,卡片式佈局和瀑布流佈局都逐漸成為廣受歡迎的設計風格。本文將介紹如何使用CSS實作一個響應式的卡片瀑布流佈局,並提供具體的程式碼範例。一、HTML結構首先,我們需要在HTML中定義一組卡片的結構,例如使用&lt;ul&gt;和&lt

如何使用CSS3的flex屬性,建構瀑布流佈局效果? 如何使用CSS3的flex屬性,建構瀑布流佈局效果? Sep 09, 2023 am 08:39 AM

如何使用CSS3的flex屬性,建構瀑布流佈局效果?在網頁設計中,瀑布流佈局(WaterfallLayout)是一種常見且受歡迎的頁面佈局方式。它的特點是將內容以不規則的列數和行高呈現,營造出瀑布流般的美感。在過去,實作瀑布流佈局需要使用複雜的JavaScript程式碼來計算元素的位置和尺寸。然而,隨著CSS3的發展,我們可以利用其強大的flex屬性來更加簡單

如何使用Css Flex 彈性佈局實現瀑布流佈局 如何使用Css Flex 彈性佈局實現瀑布流佈局 Sep 27, 2023 pm 04:22 PM

如何使用CSSFlex彈性佈局來實現瀑布流佈局隨著網頁設計的不斷發展,瀑布流佈局成為了一種非常流行的頁面佈局方式。與傳統的網格佈局不同,瀑布流佈局能夠自適應螢幕大小,並且呈現出獨特的流動感。在本文中,我們將介紹如何使用CSSFlex彈性佈局來實現瀑布流佈局,並提供具體的程式碼範例。 CSSFlex彈性佈局是一種強大的佈局模型,它透過在容器元素上應用di

利用uniapp實現瀑布流佈局效果 利用uniapp實現瀑布流佈局效果 Nov 21, 2023 am 10:25 AM

利用Uniapp實現瀑布流佈局效果瀑布流佈局是一種常見的網頁佈局形式,它的特點是將內容按照不規則的列數排列,形成類似瀑布流式的效果。在行動端開發中,利用Uniapp框架可以輕鬆實現瀑布流佈局效果。本文將介紹如何利用Uniapp實現瀑布流佈局,並提供具體的程式碼範例。一、創建Uniapp專案首先,我們需要在電腦上安裝好HbuilderX開發工

如何使用HTML和CSS實現瀑布流佈局 如何使用HTML和CSS實現瀑布流佈局 Oct 24, 2023 am 09:33 AM

如何使用HTML和CSS實現瀑布流佈局瀑布流佈局(WaterfallLayout)是一種常見的網頁佈局方式,它可以使網頁內容呈現出像瀑布流一樣的效果,每一列的高度可以不同,讓網頁看起來更加有趣和動感。在這篇文章中,我們將介紹如何使用HTML和CSS來實現瀑布流佈局,並附上具體的程式碼範例。首先,我們來了解所需的HTML結構。為了實現瀑布流佈局,我們需要讓

CSS屬性實作瀑布流佈局的技巧 CSS屬性實作瀑布流佈局的技巧 Nov 18, 2023 am 11:00 AM

CSS屬性實現瀑布流佈局的技巧,需要具體程式碼範例瀑布流佈局是一種常見的網頁佈局方式,特點是將網頁內容像瀑布一樣從上到下依次排列,且每個內容塊的寬度固定,高度可以不同。這種佈局方式可以讓網頁顯示更美觀,帶給使用者良好的視覺體驗。在CSS中,我們可以使用一些屬性來實現瀑布流佈局,以下將介紹一些常用的技巧,並給出具體的程式碼範例。使用CSS的column屬性CSS

See all articles