http://isotope.metafizzy.co/docs/help.html说:
第一项打破砌体布局
使用Masonry布局模式如果遇到重新调整第一个项目大小的问题,并且所有其他项目不再适合网格,则很可能需要设置columnWidth选项。如果没有设置columnWidth,Masonry布局模式将使用第一个项目的宽度作为其列的大小。
$('#container').isotope(
masonry: {
columnWidth: 220
}
});
这就是我目前正在做的事情。但是,我想要一些改变columnWidth的CSS媒体查询。因此,如果我的第一个Isotope项目具有正常的1x宽度,我可以指定CSS中的项目的宽度,并且Isotope将从那里获取columnWidth并且工作。但是因为我的第一个项目有2x宽度,我必须像上面的代码那样指定列宽,当然我不能再用CSS改变它了。
例如可以这样做:
答案 0 :(得分:4)
您可以使用CSS和媒体查询来设置元素的大小,然后在Javascript中访问该值并使用它来设置列宽:
var colWidth = $('.column-width-isotope-element').width();
$('#container').isotope(
masonry: {
columnWidth: colWidth
}
});
这样,媒体查询将在同位素初始化之前被处理,然后它读取列宽的值(将.column-width-isotope-element
替换为您的选择器用于单列宽度同位素元素)并初始化同位素与该属性。
答案 1 :(得分:0)
我正在使用同位素jquery插件v2.2.2并面临这个问题。我添加了一个CSS,它对我有用。
.itl-portfolio-masonry:after {
content: '';
display: block;
clear: both;
}