css3 column实现卡片瀑布流布局

实现效果

  • 今天遇到了须要实现一个卡片的瀑布流布局的问题,卡片高度是不一样的。
  • 最后使用css3中的column属性实现了这个布局,并且很是的简便啊(lz隐约记得上次写瀑布流的时候是用js实现的...naive啊)
  • 实现效果大概以下图~

图片描述

相关属性

  • column-count:想实现的列数,我这里只须要2列
  • column-width:列的宽度
  • column-gap:列之间的间隙
  • break-inside:avoid:若是不将子元素(每一个卡片)设置这个属性的话,就会出现一张卡片被截断显示在不一样的列中的状况

遇到的问题

  • 实现过程当中遇到了一个小问题,个人卡片底部border会被截掉一块
  • 经过设置子元素的overflow:auto解决了

代码

.videoCards {
            padding-top: 4rpx;
            column-count: 2;
            column-gap: 18rpx;

            .card {
                display: inline-block;
                margin-top: 20rpx;
                width: 326rpx;
                background: #FFFFFF;
                box-shadow: 0 0 10rpx 0 rgba(0,0,0,0.10);
                border-radius: 14rpx;
                break-inside: avoid;
                padding-bottom: 20rpx;
                overflow: auto;
                }
        }
相关文章
相关标签/搜索