Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在不溢出的情况下将大量图像放入窗口区域_Html_Css_Image_Algorithm - Fatal编程技术网

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

Html 如何在不溢出的情况下将大量图像放入窗口区域,html,css,image,algorithm,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) );

全部: [更新]我发现了一种愚蠢但几乎有效的方法:

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);
                }
功能(总、宽、高){
垂直变异系数;
水平方向;

对于(var n=1;n=total)&(n*m,这里是我尝试的纯数学答案

假设所有图像的比例为1:1,它们的缩放比例不应大于
100px
,但仍会填满可用的全部空间


Hm,看看插件。我认为这应该适合你的需要。你有关于这个问题的更多信息吗?到目前为止你有什么?(HTML、CSS、任何JavaScript或类似的?)你想让图像填充一行,或者总计达一个矩形的图像吗?@ RAMISWAKTHER谢谢,我会研究。BTW,你有没有基于Bootstrap或基金会的链接?不,但是我已经用Bootstrap使用它了。对我来说很好。e 100瓷砖,如果你想把它们排列在墙上,尽可能地占据大部分空间(不要担心墙壁是否难看,只要在不超出边界的情况下占据尽可能多的空间即可),你想要多大尺寸的瓷砖?谢谢,但很抱歉,我没有完全理解你的想法。我想做的是确保所有图像都可以调整到适当的大小,以“尽可能”填充一个区域.在您的代码中,它似乎计算了根据宽度调整大小的比率,但如何处理高度部分,它还需要“尽可能多地”填充一个区域(您不需要将图像大小限制为100 x 100,只要它们填充该区域的大部分空间,任何大小都可以)?