是否有一个 js 库用于以最佳间距在行中显示图像搜索结果?

is there a js library for displaying image search results in rows with optimal spacing?

像 google 图片搜索这样的网站会按行显示不同宽度的图片。显然,他们 select 将哪些图像组合在一起,以及将哪些图像缩小一点,以便在图像之间实现相当均匀的间距。

我试图在网上搜索实现这种算法的库。

我在这里问是否有人知道这样的解决方案,如果不知道,我可以使用一些关于如何自己编写此代码的指导。

更新:我发现 photowall 使用 jquery。 这似乎是答案。我目前正在搜索 angular.js 指令

有图书馆Masonry (the one mplugjan also mentioned). This library is very flexible in the way you can set up a grid. See their options page

如果你想自己做,大致有两种选择:

  1. 图像的宽度为 fixed/max
  2. 图像有 fixed/max 高度

Google 图像为其图像提供最大高度,这允许它们创建行并将图像放置在其中。

另一种选择是创建固定的列并将图像放置在这些列中。但是,此选项实施起来有点困难,因为您必须更仔细地考虑图像的放置顺序。

编辑: 快速浏览了Photowall 后,似乎Masonry 更加灵活。 Masonry 站点上的文档显示了更多混合各种 heights/widths.

的示例