純 css column 布局實現瀑布流效果


原理

CSS property: columns。CSS屬性 columns 用來設置元素的列寬和列數。

兼容性

  • chrome 50+
  • IE 10+
  • android browser 2.1+ with -webkit-

MDN 文檔

效果

代碼

<div class="wrap"> 
  <div class="item"> 
    <div class="item_content content-lar"> 1 </div> 
  </div> 
  <div class="item"> 
    <div class="item_content content-sma"> 2 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-mid"> 3 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-sma"> 4 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-mid"> 5 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-lar"> 6 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-sma"> 7 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-lar"> 8 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-lar"> 9 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-sma"> 10 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-mid"> 11 </div> 
  </div>
  <div class="item"> 
    <div class="item_content content-mid"> 12 </div> 
  </div>
</div>
.wrap {
  width: 1280px;
  margin: 0 auto;

  column-count: 4;
  column-gap: 2em;
}
.item {
  padding: 2em;
  margin-bottom: 2em;
  

  break-inside: avoid;
  background: #f60;
}
.content-lar {
  height: 300px;
}
.content-sma {
  height: 100px;
}
.content-mid {
  height: 200px;
}

心得

在過去本人還用 100+ 行代碼寫過 JS 版的瀑布流效果,講真,CSS 越來越強大,有目共睹。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM