如何让这些html元素正确定位和错开?

时间:2012-08-09 15:51:12

标签: javascript jquery html

我的网页上有一系列平铺元素作为背景。位于此之上,我有另一组瓷砖(两倍大)作为覆盖层。这些较大的瓦片中的每一个都具有等于一个较小背景瓦片的尺寸的“边缘右”。您可以看到此http://jsfiddle.net/dhx2r/2/ *已更新

的示例

乍一看,这显示正确。问题在于,由于每个较大的瓷砖具有此右边距,这意味着如果您展开窗口,瓷砖将不会向上滑动以填补间隙,除非它大于3个小瓷砖宽度。 (像这样:http://img444.imageshack.us/img444/1412/70953496.png

理想情况下,我会以某种方式附加到window.resize事件,并在3个小图块的间隙可用时将'margin-right'设置为'0'。我尝试使用jsfiddle的js面板中的代码执行此操作,但它没有给出正确的结果。由于我使用的代码依赖于'window.resize'事件,因此jsfiddle不会演示实际发生的情况,但它至少会显示我正在使用的代码。

我今天一直在努力解决这个问题大约7个小时所以我的思绪有点油腻!修复这个初始问题后我的意图是以某种方式错开奇数行,使它们有一个小边距宽度的“左边距”,以产生这种效果:http://img507.imageshack.us/img507/3600/57663338.png

我设法使用(假设小瓷砖是150px和大300px)来计算偶数/奇数行:

if ((pos != 0) && (pos % 600 != 0)) {
    // The row is even, stagger the tiles.
}
else {
    // The row is odd, do nothing.
}

..然而,我从来没有超越这个初始问题来处理逻辑。

无论如何,如果有人能够解决这个问题,我会非常感激!我觉得我浪费了一整天把头撞在墙上。

谢谢: - )

2 个答案:

答案 0 :(得分:2)

我有一个解决方案的开头,但有时颜色设置不正确。我正在寻求解决它。

Fiddle 1

最后所有问题都解决了here

谢谢你,找到解决方案对我很有意思。我希望这个解决方案对你有好处。

答案 1 :(得分:1)

也许你应该抛弃边缘并使用一些隐藏的填充瓦片,就像大块一样崩溃?

fiddle

好的,第2部分。这是一个需要调整的解决方案,我甚至将橙色的行着色以进行测试。我没有时间摆弄确切的数字,但这应该让你非常接近。

fiddle 2