问答

等高不等宽的图片列表怎么布局

作者:admin 2021-04-21 我要评论

像这种图片的高度一样 但是宽度不一致 怎么在加载列表的时候自动补到所缺的位置上去 看到的瀑布流插件都是等宽的计算方法 有没有类似的插件能实现这种效果 列表...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

image.png
像这种图片的高度一样 但是宽度不一致 怎么在加载列表的时候自动补到所缺的位置上去 看到的瀑布流插件都是等宽的计算方法 有没有类似的插件能实现这种效果 列表数量和图片的排序都是不定的

###
<template>
  <div class="waterfall-height-css">
    <div class="image-box" v-for="img in imgList" :key="img.url">
      ![](img.url)
    </div>
  </div>
</template>
<script>
<style lang="scss" scoped>
.waterfall-height-css {
  display: flex;
  flex-wrap: wrap;
  .image-box {
    flex-grow: 1;
  }
  img {
    display: block;
    min-width: 100%;
    height: 200px;
    object-fit: cover;
  }
}
</style>
###

这个功能我做过,比你想象中的要复杂。建议做一下取舍,如果不是很必要的话,换用一些简单的方案来实现也挺好。

如果真的要做的话,大概是这样:

  1. 先取一批图片,比如 20 张
  2. 线性分区算法 对这些数字进行分块,得到若干行(比如5行),每行的宽度和尽可能接近
  3. 按照宽度比例计算每张图片的宽度,并给图片设定宽度
  4. 此时图片不太能完全展示,所以要用 object-fit:cover 让其居中展示一部分

上面的 线性分区算法 可以参考:https://github.com/crispymtn/...

###

这个有现成的 http://flickr.github.io/justi...

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 等高不等宽的图片列表怎么布局

    等高不等宽的图片列表怎么布局

  • 数组相同项合并

    数组相同项合并

  • 为什么这样写变量可以取到?

    为什么这样写变量可以取到?

  • 数组对象拷贝并赋值(可能描述的不准确

    数组对象拷贝并赋值(可能描述的不准确

腾讯云代理商
海外云服务器