【发布时间】:2023-04-07 03:52:01
【问题描述】:
我正在使用 javascript 库 Isotope 创建一个可过滤的投资组合。我通过自动左右边距和通过砖石布局option、isFitWidth 将 Isotope 容器居中在 css 中,它“设置容器的宽度以适应可用的列数”(来自 Isotope 文档) .
CSS
#isotope-list {
margin: 0 auto;
}
Javascript
$container.isotope({
itemSelector : '.item',
layoutMode : 'masonry',
masonry: {
isFitWidth: true,
columnWidth: 60,
gutter: 10
},
transitionDuration: '3s'
});
不幸的是,当同位素项目被过滤时,容器会在执行转换之前立即调整大小。这会导致不和谐的跳跃,您可以在此jsfiddle 中看到。我已将过渡持续时间延长,以便您更容易看到问题。
我尝试添加到容器宽度的过渡,transition: width 3s ease;,但这似乎非常滞后、紧张和不和谐,即使是缓动也是如此。 Here 是一个应用了该转换的 jsfiddle。
在保持容器居中的同时,我可以做些什么来使容器调整大小不抖动且不滞后?
【问题讨论】:
-
我没有注意到 Chrome 40.0 for Mac 中的不和谐效果。可能是浏览器问题。
-
@JustinMorgan 我在 Chrome、IE 和 Firefox 中对其进行了测试,但我仍然注意到跳跃。它仅在列数发生变化时发生,即在调整同位素容器大小时发生。当同位素网格中有许多项目时,这一点会更加明显。这是一个展示跳跃效果的视频:drive.google.com/file/d/0B5OxMCWiLhrMdGZXNno5U0xiTDQ/…
标签: javascript jquery html css jquery-isotope