我需要填充一个固定大小的盒子,它应该填充9 个 随机大小的形状。
由于我有 9 个形状,一个或多个可以在另一个之上,这样做的目的是创建随机效果,就好像这些形状是随机分散的一样。但是话又说回来,不能有任何空白,这是非常重要和最困难的部分。
因此,想象一下我做得更好的事情,并举例说明这应该是什么样子
我还设置了 jsFiddle,你可以在这里查看
我为此工作了好几个小时,无论我怎么想都没有用,所以这只是我正在使用代码做的一个非常基本的例子。
我不是要一个完整的工作代码,但任何关于我应该如何从这一点继续的建议都会有很大帮助。
由于 SO 规则要求提供 jsFiddle 代码,因此它是:
$shape = $('<div class="shape"></div>');
$container = $(".container");
//random shape sizes
shapes = [
[rand(50, 70), rand(50, 70)],
[rand(50, 70), rand(50, 70)],
[rand(60, 70), rand(60, 70)],
[rand(60, 100), rand(60, 100)],
[rand(100, 140), rand(100, 140)],
[rand(100, 140), rand(100, 140)],
[rand(100, 140), rand(100, 140)],
[rand(140, 190), rand(140, 190)],
[rand(150, 210), rand(150, 210)]
];
used = [];
left = 0;
top = 0;
for(i = 1; i <= 3; i++){
offset = rand(0, 8);
width = shapes[offset][0];
height = shapes[offset][1];
$container.append(
$shape.css({
width: width,
height: height,
top: top,
left: left,
zIndex: i
})
.text(i)
.clone()
);
//increase top offset
top += shapes[offset][1];
}
function rand(from, to){
return Math.floor((Math.random()*to)+from);
}