jQuery - 砌体显示没有错误但没有工作?

时间:2013-03-30 19:30:56

标签: jquery layout jquery-masonry

我一直在尝试超过7个小时来对布局进行排序,我希望最终产品能够沿着这些方向看待 - !want it to look like

相反,我得到了这个!currently looks like

下面是正在使用的代码

HTML -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<head>

<title>_Box</title>

<link href="styles.css" rel="stylesheet" type="text/css">

<body>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="masonry.js"></script>
<script>
  $(function(){
  $('#container').masonry({
    columnWidth: 150,
    itemSelector: 'div' 
    });
});
</script>

<div id="container" class="clearfix masonry">

<div class="item1"><img src="images/eventbox.png"></img></div>
<div class="item3"><img src="images/forumbox.png"></img></div>
<div class="item2"><img src="images/weekbox.png"></img></div>
<div class="item2"><img src="images/weekbox.png"></img></div>
<div class="item2"><img src="images/weekbox.png"></img></div>
<div class="item2"><img src="images/weekbox.png"></img></div>
<div class="item3"><img src="images/top10box.png"></img></div>
<div class="item1"><img src="images/eventbox.png"></img></div>

</div>

</head>
</body>

CSS -

html {
  height:100%;
}

body {
  width:900px;
  height:100%;
  margin:0 auto;
  margin-top:100px;
  background-image: url(images/gridbg.png);
}

#container {
    width:900px;
}

.item1,.item2,.item3 {margin:5px;}
.item1 {width:350px;}
.item2 {width:175px;}
.item3 {width:150px;}

有什么想法吗?因为它似乎什么都不会起作用

1 个答案:

答案 0 :(得分:1)

这是我做的fiddle

我注意到,通过设置较低的列宽数量,它可以改善砌体的工作方式。

所以我将Scrip修改为类似的东西:

$(function () {
    $('#container').masonry({
        columnWidth: 1,
        itemSelector: 'div'
    });
});

此外,添加固定的重量/高度可能会有所帮助。特别是对于处理项目周围的边距,因为砌体似乎在元素之间存在一些问题。

因此,如果你的大项目是350px,请确保下面的项目不超过(350 -(2*margin)) /2 px,以便正确放置它们。