Math 基于外部分区尺寸确定内部分区尺寸的公式?
假设我有一个容器div,宽765px,高530px 我想用30个较小的div动态填充尽可能多的div。因为container div是一个矩形,所以filling div也应该是一个矩形。基本上,我不想要正方形,我想要填充空间 公式是什么Math 基于外部分区尺寸确定内部分区尺寸的公式?,math,html,pixels,Math,Html,Pixels,假设我有一个容器div,宽765px,高530px 我想用30个较小的div动态填充尽可能多的div。因为container div是一个矩形,所以filling div也应该是一个矩形。基本上,我不想要正方形,我想要填充空间 公式是什么 谢谢 使用30,您可以创建一个5乘6的网格,因此将高度除以6,将宽度除以5,或将高度除以5,将宽度除以6。如果div必须有整数大小,您将无法用6填充宽度或高度,因为两者都不能被6整除…因此要找到每个片段的宽度和高度,其中N是您拥有的片段数(本例中为30),H是
谢谢 使用30,您可以创建一个5乘6的网格,因此将高度除以6,将宽度除以5,或将高度除以5,将宽度除以6。如果div必须有整数大小,您将无法用6填充宽度或高度,因为两者都不能被6整除…因此要找到每个片段的宽度和高度,其中N是您拥有的片段数(本例中为30),H是要填充的框的高度(本例中为530),W是要填充的框的宽度(本例中为765) 导致
eachPieceWidth = floor(765/ceil(sqrt(30)))
eachPieceHeight = floor(530/(30/ceil(sqrt(30)))
eachPieceWidth = 127
eachPieceHeight = 106
导致
eachPieceWidth = floor(765/ceil(sqrt(30)))
eachPieceHeight = floor(530/(30/ceil(sqrt(30)))
eachPieceWidth = 127
eachPieceHeight = 106
让我看看我是否能为你详述一下你的问题 您有一个宽度
w
和高度h
的容器,您想用大小相等的矩形填充它。您想找到x
,y
,这样x*y=n
,但您想w/x
近似等于h/y
,这样您的小矩形就与尽可能的方形(因为如果它们是1xn
切片,那可能是非常无用的),并且您希望它们在美学上令人愉悦
首先,如果n
是一个素数,你要么需要放松你的假设,要么你会得到一堆薄片。否则,我会迭代n
的所有因子,对于每个因子x
计算y=n/x
,然后计算w/x
和h/y
选择|w/x-h/y |
最小的一对,您将拥有最多可以放入该容器的网格中的“方形”div
<> > <代码> W>代码> 765和<代码> h < /代码>=530。30的因素是1, 2, 3、5, 6, 10、15, 30。我们考虑下面的对,这将导致以下div大小(舍入):
- (1,30)-(765,17)
- (2,15)-(382,35)
- (3,10)-(255,53)
- (5,6)-(153,88)
- (6,5)-(127106)
- (10,3)-(76176)
- (15,2)-(51265)
- (30,1)-(25530)
在这种情况下,对的最小差异
(127106)
与您使用公式得出的结果相同,但您可以想象,如果您有一个又长又薄的容器,或者出于某种原因,您更喜欢具有不同纵横比的子div,而不是正方形。在这种情况下,您会选择最合适的除法。小30的尺寸是多少div?这是我需要的公式。那30个div应该多大才能填充主空间?30个div应该都有相同的大小?是的。我想用div填充空间,就像你填充棋盘一样。除了我的棋盘不是正方形。如果我的棋盘是矩形,我的瓷砖应该是矩形。如果你假设外部尺寸接近square。但是,我详细阐述了使实际的子div本身尽可能接近square,这可能更重要。例如,如果您有一个40x800的框,并且您想用20个div填充它,那么您可能需要1x20网格,而不是4x5网格。