2011-03-08 42 views
4

嘿家伙, 我想要使用jQuery的真棒砌筑插件 - >http://desandro.com/resources/jquery-masonry/jquery masonry:nth-​​child()将不起作用?

该插件就好了,但是我有创造一个布局,我使用第n个孩子()选择摆脱问题每三分之一的保证金。

#footerwidgets li.widget { 
    margin: 0px 24px 24px 0px; 
    width:340px; 
} 

#footerwidgets li.widget:nth-child(3n) { 
    margin-right:0px; 
} 

因为我对这个容器部件正是1068px宽三只小部件适应完全(因为最后的窗口小部件没有正确的保证金)

当我尝试使用jQuery的砌体插件这种行为被忽视!只有两列适合(插件工作,所以所有小部件都以砖石风格浮动)。当我检查元素时,每三个元素都有一个24px的右边距。所以第n孩子被忽略。

的任何方法,使工作?

+0

你在测试这个浏览器是什么? 'nth-child'选择器是CSS 3,所以支持有限。 Internet Explorer不支持它,直到9版 – Guffa 2011-03-08 21:37:48

+0

我使用铬或Safari – matt 2011-03-08 21:42:19

回答

10

使用jQuery,除去利润,使用Masonry's gutterWidth option代替。

CSS:

#footerwidgets li.widget.masonry-brick { margin: 0; } 

的jQuery:

$('#footerwidgets').masonry({ 
    gutterWidth: 24 
}); 
1

砌体不与可变大小的利润率很好地工作。您有三列和一个528px的容器。你最好的选择是去三栏176px。每列将有一个边缘,例如12px和152px的宽度。

如果你想你的总宽度减去左右边距为528px,然后展开容器544px(528px + 2×12像素)和您的列的宽度,以160

+0

SRY基因,即逗号是没有问题的,那只是一个小错误,与张贴这个问题发生了......问题是,我想要三个小部件水平放入我的#wrapper div(宽度为1068px)。每个小部件宽度为340px,并具有24px的右边距。每个第三个小部件都将其右边距设置为0;这意味着340 + 24 + 340 + 24 + 340 = 1068.当我不使用砌体时,这可以正常工作。但是,当我使用砌体时,所有小部件都有24px的右边距,所以每个第三个元素都向左浮动 - >所以只有两列小部件适合我的包装。 – matt 2011-03-08 21:50:05

+0

是的,你正确理解我。我的第三个小部件是向左漂移的。但是我希望它除了另外两个小部件之外还可以漂浮到顶部。 – matt 2011-03-08 22:05:25

+0

你可以发布一个链接到你的HTML它会帮助我更好地回答你的问题。使用像pastebin – Dimitry 2011-03-08 22:19:14