html - 如何在不溢出的情况下将大量图像放入窗口区域

标签 html css image algorithm

全部: [更新] 我找到了一个愚蠢但几乎可行的方法:

function (total, W, H){
                    var fillVertical;
                    var fillHorizontal;
                    for(var n=1; n<total; n++){
                        var m = Math.floor( W/(H/n) );
                        if( (n*m>=total) && (n*m<(total+m) ) ){
                            fillVertical = {
                                row: n,
                                col: m,
                                size: +(Math.floor(100*H/n)/100).toFixed(2),
                                remainspace: H*(W-(H/n)*m)
                            }
                            break;
                        }
                    }
                    for(var m=1; m<total; m++){
                        var n = Math.floor( H/(W/m) );
                        if( (n*m>=total) && (n*m<(total+m) ) ){
                            fillHorizontal = {
                                row: n,
                                col: m,
                                size: +(Math.floor(100*W/m)/100).toFixed(2),
                                remainspace: W*(H-(W/m)*n)
                            }
                            break;
                        }
                    }
                    if(!fillVertical){
                        return fillHorizontal;
                    }
                    if(!fillHorizontal){
                        return fillVertical;
                    }
                    return (fillVertical.remainspace<fillHorizontal.remainspace? fillVertical:fillHorizontal);
                }

============================================= =========================

如果我有很多图片 url(大约 100 个),并且我将它们每个都放在一个 , 所有图片都是相同的大小(你不需要担心比例问题,但你需要保持这个比例,实际大小是 100 x 100)。

我想做的是让图像尽可能填满窗口但不溢出,谁能给我一些简单的算法来计算单个图像的大小?

谢谢

最佳答案

这是我对纯数学答案的尝试。

假设所有图像都是 1:1 的比例,并且它们的缩放比例不应大于 100px,但仍会填满可用空间。

JSFiddle

关于html - 如何在不溢出的情况下将大量图像放入窗口区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264887/

相关文章:

HTML:char 的 sibling ▼

javascript - 进度条 AJAX 和 PHP

html - 为什么不总是使用 enctype ="multipart/form-data"?

javascript - 为什么浏览器会自动向下滚动到 '#hashhyperlinks',我们如何才能阻止它?

javascript - 如何防止固定按钮与页脚区域重叠并将按钮停止在页脚所在位置的顶部

javascript - 全高嵌入 PDF

html - 如何设置CSS网格列的最大宽度

javascript - 如何计算欧氏距离? (华硕)

javascript - 使用 jQuery 或 CSS 将 100% 宽度的图像调整为垂直居中?

c - PPM 将二进制转换为 ASCII - 无法解释的质量损失