如何使用带有 Masonry 布局的同位素来避免间隙 sortby random
How to avoid gaps using Isotope with Masonry layout sortby random
我在 Masonry 布局中使用 Isotope,我注意到有时会在一个盒子和另一个盒子之间留下空隙(如果有 space 适合另一个盒子)。
但有时,如果我刷新页面,就可以了,它会填补所有空白。 (因此我认为不是css的问题)
我对项目使用流体尺寸并且我有 sortBy: 随机模式。
我发现还有另一个脚本 isotope-perfectmasonry,但似乎只适用于旧版本的 masonry (v1)
这是我的代码
var $grid = $('.grid').imagesLoaded( function() {
// init Isotope after all images have loaded
$('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry',
sortBy : 'random',
percentPosition: true,
masonry: {
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer'
}
});
});
是否有可能填补所有的空白,或者不可能因为它是随机的?
如果有一些差距,我知道如何触发重新布局吗?
为避免间隙,您应该使用 Isotope 的 packery 布局模式。
这是一个 codepen 演示。
唯一的区别是添加了包装布局的外部 javascript 文件 (https://rawgit.com/metafizzy/isotope-packery/master/packery-mode.pkgd.min.js) 并且同位素代码更改为以下内容。
$('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'packery',
sortBy: 'random',
percentPosition: true,
packery: {
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer'
}
});
我在 Masonry 布局中使用 Isotope,我注意到有时会在一个盒子和另一个盒子之间留下空隙(如果有 space 适合另一个盒子)。 但有时,如果我刷新页面,就可以了,它会填补所有空白。 (因此我认为不是css的问题) 我对项目使用流体尺寸并且我有 sortBy: 随机模式。
我发现还有另一个脚本 isotope-perfectmasonry,但似乎只适用于旧版本的 masonry (v1)
这是我的代码
var $grid = $('.grid').imagesLoaded( function() {
// init Isotope after all images have loaded
$('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'masonry',
sortBy : 'random',
percentPosition: true,
masonry: {
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer'
}
});
});
是否有可能填补所有的空白,或者不可能因为它是随机的? 如果有一些差距,我知道如何触发重新布局吗?
为避免间隙,您应该使用 Isotope 的 packery 布局模式。
这是一个 codepen 演示。
唯一的区别是添加了包装布局的外部 javascript 文件 (https://rawgit.com/metafizzy/isotope-packery/master/packery-mode.pkgd.min.js) 并且同位素代码更改为以下内容。
$('.grid').isotope({
itemSelector: '.grid-item',
layoutMode: 'packery',
sortBy: 'random',
percentPosition: true,
packery: {
columnWidth: '.grid-sizer',
gutter: '.gutter-sizer'
}
});