我想创建一个图片列表,就像Facebook在查看相册时所做的那样:
因此,输入数据是:
infinite
个已知width
和height
container
已知width
且身高无限一些ascii场景涵盖了可能的情况:
|------------------|------------------|------------------|
| | | |
| Normal tile | Normal tile | Normal tile |
| | | |
|------------------|------------------|------------------|
| | |
| Landscape tile | |
| | |
|------------|------------------------|------------------|
| | | |
| Smaller | Landscape tile | Normal tile |
| | | |
|------------|--|------------------|--|------------------|
| | | |
| Portrait tile | Normal tile | Larger tile |
| | | |
| |------------------|---------------------|
| | | |
| | Larger tile | Normal tile |
| | | |
|---------------|---------------------|------------------|
我考虑过使用D3 js中的Treemap算法但是我不太确定这是否是正确的选择,因为在我的问题中我不知道容器的高度。
这是一个包装问题。
任何帮助或想法都将不胜感激!
更新
可以缩放或剪裁图像以更好地适应布局。 因此,例如,如果存在用于填充行的正方形图块并且当前图像是纵向图像的位置,则算法可以将图像缩放到可用宽度并将其剪切到可用高度,或者相反。
答案 0 :(得分:0)
设置磁贴的最小可接受区域和行的标准高度。