【问题标题】:Isotope Container Resizing is Jarring同位素容器调整大小令人震惊
【发布时间】:2023-04-07 03:52:01
【问题描述】:

我正在使用 javascript 库 Isotope 创建一个可过滤的投资组合。我通过自动左右边距和通过砖石布局optionisFitWidth 将 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


【解决方案1】:

您应该使用 .element-sizing 并删除 columnWidth 和 Gutter 并在您的 CSS 中应用边距。还将float:left; 应用于您的项目。

给你一个工作的jsfiddle

居中砌体:

使用bootstrap + isotope element-sizing = http://jsfiddle.net/eff841wh/143/

【讨论】:

  • 您将如何使用您提到的方法将同位素容器居中?在您发布的 jsfiddle 中,容器左对齐。 @rob.m
  • @TovlyDeutsch 我已经用居中的砖石更新了我的答案。但是您的问题是关于过滤时的跳跃,居中的砌体是另一个问题,您应该单独提出。请接受我的回答,因为它确实回答了您的问题。如果您还有其他问题,请创建一个新问题。
  • 您发布的 jsfiddle 似乎没有完全集中同位素元素。这是一个示例屏幕截图:drive.google.com/file/d/0B5OxMCWiLhrMamhlNHZzX2dGazg/…@rob.m
  • 另外,我将这个问题作为一个问题提出,因为我用来使同位素容器居中的方法导致了跳跃。如果我禁用isFitWidth,容器将不会调整大小,也不会发生跳跃,但容器不会居中。
  • @TovlyDeutsch 你还没有回答你的问题。无论如何,我已经为您提供了解决方案的更新答案。请接受。
猜你喜欢
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
相关资源
最近更新 更多