怎么用純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天美传媒| 久久婷婷久久一区二区三区| 国产精品一区二区三区久久| 无码人妻一区二区三区免费手机| 日韩少妇无码一区二区三区| 亚洲日韩AV一区二区三区四区 | 国产激情一区二区三区四区 | 久久久久久人妻一区精品| 亚洲av无码天堂一区二区三区| 精品一区二区三区视频| 武侠古典一区二区三区中文| 动漫精品第一区二区三区| 狠狠综合久久av一区二区| 中文无码一区二区不卡αv| 亚洲欧洲专线一区| 免费看AV毛片一区二区三区| 国模无码视频一区| 亚洲AV无码一区二区三区在线观看| 色屁屁一区二区三区视频国产| 中文字幕一区一区三区| 狠狠色综合一区二区| 久久一本一区二区三区| 国产伦理一区二区| 日韩精品无码中文字幕一区二区| 色狠狠色噜噜Av天堂一区| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲一区二区三区丝袜| 成人无号精品一区二区三区| 国产日韩精品一区二区在线观看播放 | www一区二区www免费| 伊人精品视频一区二区三区| 无码午夜人妻一区二区三区不卡视频| 在线精品亚洲一区二区三区| 亚洲国产精品乱码一区二区|