Css3实现百度图片的横向瀑布流布局——内含解决object-fit兼容性问题

最近公司在做项目的时候需要用到横向瀑布流布局,在实现的过程中还遇到了object-fit兼容性问题,这里记录一下整个过程,想直接复制代码可以直接滚到底部

在此先上个效果图:

(希望不要吐槽里面的小哥哥)下面正题

用的框架是vue,v-for一下:

<section>
  // v-for就是根据imagesList数组去循环下面这个div部分。
  <div class="img-wrapper" v-for="(item, index) in imagesList" :key="index">
    <img class="img" :src="item.img" />
    <div class="info">
      <span class="size">helloworld</span>
    </div>
  </div>
</section>

重点css来了朋友们(这里是scss):

section {
  display: flex; // 这里用到flex布局
  flex-wrap: wrap; // flex中换行的属性
  padding: 15px 5px;
  &::after{ // 用于最后一行最后的位置显示空白
    content: '';
    flex-grow: 99999;// 放到最大
  }
  .img-wrapper {
    flex-grow: 1; // 根据比例计算每个图片多长等分剩余空间(好难解释,下面用图解释)
    margin: 5px;
    position: relative;
    overflow: hidden; // 把多余的部分隐藏
    .img {
      height: 170px;
      min-width: 100%; // 要让左右的图片横向是充满他父级标签的宽度
      object-fit: cover; // 让图片不要压缩
    }
    .info{ // 选中时底部提示框
        position: absolute; 
        bottom: 4px;
        color: #ffffff;
        left: 0;
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值