怎么用純CSS實現瀑布流布局? – CSS筆記

    最好實現瀑布流布局的辦法就是用CSS的列屬性套件,這套屬性大多數都是用于排版雜志中的文本列。但是用于布局瀑布流也是特別實用哦

    得益于現代化的CSS進步,以前進行瀑布流布局還需要用到JS,現在純CSS就能實現瀑布流布局了,一起來看看吧。

    CSS?GridFlexbox讓我們可以更簡便,更容易和更快的實現各式各樣的響應布局,并且讓我們快捷方便的在布局中實現橫向劇中和豎向劇中。但是回想一下以前是頗為困難的。

    雖然這些新出的布局方式可以讓我們解決很多以前的布局難題,但是像瀑布流布局這種,就無法用它們簡單來實現了。因為瀑布流一般來說都是寬度一致,但是高度是根據圖片自適應的。并且圖片的位置也是根據在上方圖片的位置而定的。

    其實最好實現瀑布流布局的辦法就是用CSS的列屬性套件,這套屬性大多數都是用于排版雜志中的文本列。但是用于布局瀑布流也是特別實用哦。因為以前需要實現瀑布流,就必須有JavaScript的輔助來計算圖片高度然后決定每張圖片的定位和位置,所以現在有了列屬性就可以使用純CSS實現了。

    怎么用純CSS實現瀑布流布局? - CSS筆記
    例子

    實現原理:

    實現這個布局,首選我們需要把所有的內容先包裹在一個div元素里面,然后給這個元素column-widthcolumn-gap屬性。

    然后,為了防止任何元素被分割到兩個列之間,將column-break-inside: avoid添加到各個元素中。

    神奇的效果就完美實現了,零JavaScript。

    我們來看看代碼:

    <div class="columns">
      <figure>
        <img src="https://source.unsplash.com/random?city" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?night" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?developer" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?building" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?water" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?coding" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?stars" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?forest" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?girls" alt="" />
      </figure>
      <figure>
        <img src="https://source.unsplash.com/random?working" alt="" />
      </figure>
    </div>
    
    .columns {
      column-width: 320px;
      column-gap: 15px;
      width: 90%;
      max-width: 1100px;
      margin: 50px auto;
    }
    .columns figure {
      display: inline-block;
      box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
      column-break-inside: avoid;
      border-radius: 8px;
    }
    .columns figure img {
      width: 100%;
      height: auto;
      margin-bottom: 15px;
      border-radius: 8px;
    } 

    知識總結

    • column-width?— CSS屬性建議一個最佳列寬。 列寬是在添加另一列之前列將成為最大寬度。
    • column-width?— 該 CSS 屬性用來設置元素列之間的間隔 (gutter) 大小。
    • column-break-inside?— 設置或檢索對象內部是否斷。
    下載權限
    查看
    • 免費下載
      評論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當前的等級為
    登錄后免費下載登錄 小黑屋反思中,不準下載! 評論后刷新頁面下載評論 支付以后下載 請先登錄 您今天的下載次數(次)用完了,請明天再來 支付積分以后下載立即支付 支付以后下載立即支付 您當前的用戶組不允許下載升級會員
    您已獲得下載權限 您可以每天下載資源次,今日剩余

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 亚洲日本乱码一区二区在线二产线 | 亚洲av无码一区二区三区天堂古代| 中文字幕一区二区三区视频在线 | 亚洲乱色熟女一区二区三区丝袜| 亚洲第一区二区快射影院| 久久AAAA片一区二区| 日韩A无码AV一区二区三区| 国产91大片精品一区在线观看| 精品亚洲一区二区三区在线观看 | 一区二区三区无码高清视频| 亚洲AV噜噜一区二区三区| 在线播放国产一区二区三区| 文中字幕一区二区三区视频播放| 成人日韩熟女高清视频一区| 亚洲国产一区二区视频网站| 国产精品成人一区二区三区| 日韩精品一区二区三区毛片| 亚洲中文字幕一区精品自拍| 亚洲午夜精品一区二区麻豆| 国产91大片精品一区在线观看| 日韩好片一区二区在线看| 日韩AV无码久久一区二区| 人妻少妇精品视频一区二区三区| 久久婷婷久久一区二区三区| 日韩免费观看一区| 亚洲av无码一区二区三区网站 | 亚洲乱码国产一区网址| 精品一区二区三区视频在线观看| 亚洲日本一区二区三区在线不卡| 一区二区三区午夜| 中文字幕日本精品一区二区三区| 国产av天堂一区二区三区| 性色AV一区二区三区| 国产精品高清一区二区三区不卡| 国产香蕉一区二区在线网站| 99无码人妻一区二区三区免费| 日韩在线视频不卡一区二区三区| 国产精品一区二区三区高清在线| 一区二区国产在线播放| 日韩精品无码一区二区三区四区 | 无码一区二区三区亚洲人妻|