jquery masonry:nth-​​child() 向子节点添加不需要的边距

发布于 2024-10-20 19:32:27 字数 604 浏览 3 评论 0原文

我正在尝试使用很棒的 jquery masonry 插件 -> http://desandro.com/resources/jquery-masonry/

该插件工作正常,但是我在创建布局时遇到问题,我使用 nth-child() 选择器来消除每三个元素上的 margin-right 。

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

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

由于这个小部件的容器宽度正好是 1068 像素,因此三个小部件完美契合(因为最后一个小部件没有右边距)。

当我尝试使用 jquery masonry 插件时,此行为被忽略!只有两列适合。(该插件有效,因此所有小部件都以砌体样式浮动。)当我检查元素时,每三个元素的右边距也为 24px。所以第 n 个孩子被忽略。

有什么办法让它发挥作用吗?

I am trying to use the awesome jquery masonry plugin -> http://desandro.com/resources/jquery-masonry/

The plugin works just fine, however I have problems creating a layout where I use an nth-child() selector to get rid of a margin-right on every third element.

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

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

Since my container for this widget is exactly 1068px wide, three widgets fit in perfectly (because the last widget has no right margin).

When I try to use the jquery masonry plugin, this behaviour gets ignored! Only two columns fit in. (The plugin works, so all widgets get floated in masonry style.) When I inspect the elements, every third element has a right margin of 24px as well. So nth-child is ignored.

Any way to make that working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

或十年 2024-10-27 19:32:27

使用 jQuery,删除边距并在其位置使用 Masonry 的 gutterWidth 选项

CSS:

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

jQuery:

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

With jQuery, remove margins and use Masonry's gutterWidth option in its place.

CSS:

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

jQuery:

$('#footerwidgets').masonry({
  gutterWidth: 24
});
自此以后,行同陌路 2024-10-27 19:32:27

Masonry 不适用于可变大小的边距。您有三列和一个 528px 的容器。最好的选择是使用三列 176 像素。每列的边距为 12 像素,宽度为 152 像素。

如果您希望总宽度减去左右边距为 528 像素,请将容器扩展为 544 像素 (528 像素 + 2 x 12 像素),并将列的宽度扩展为 160。

Masonry does not work well with variable-sized margins. You have three columns and a container of 528px. Your best bet is to go with three columns of 176px. Each columns would have a margin of, say 12px and a width of 152px.

If you want your total width minus left and right margins to be 528px, then expand the container to 544px (528px + 2 x 12px) and your columns' width to 160.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文