Javascript 带AngularJS的Susy画廊(ng重复)-不填补ng隐藏的空白

Javascript 带AngularJS的Susy画廊(ng重复)-不填补ng隐藏的空白,javascript,css,angularjs,susy,Javascript,Css,Angularjs,Susy,我正在使用Susy的gallery工具以网格格式显示元素。Angular正在动态隐藏或显示这些栅格元素,具体取决于用户选择。当Angular在网格中隐藏一个元素时,它会向其附加一个ng hide类。这又将其CSS设置为display:none!重要信息 问题是Susy正在计算每个元素的位置,而没有考虑设置为display:none的项目-当这些元素被隐藏时,它会在网格中留下间隙 有没有可能让Susy在布局时忽略隐藏的元素 我尝试过使用:not()CSS选择器,但没有成功-布局中仍然存在差距: .

我正在使用Susy的gallery工具以网格格式显示元素。Angular正在动态隐藏或显示这些栅格元素,具体取决于用户选择。当Angular在网格中隐藏一个元素时,它会向其附加一个
ng hide
类。这又将其CSS设置为
display:none!重要信息

问题是Susy正在计算每个元素的位置,而没有考虑设置为
display:none
的项目-当这些元素被隐藏时,它会在网格中留下间隙

有没有可能让Susy在布局时忽略隐藏的元素

我尝试过使用
:not()
CSS选择器,但没有成功-布局中仍然存在差距:

.results__result:not(.ng-hide) {
    @include gallery(3 of 12);
}

Sass对DOM一无所知,所以Susy也不知道。要创建图库布局,susy必须依赖第n个子项选择器,这对于您所讨论的用例来说并不适用。从简单开始:

.results__result {
  @include span(3 of 12);
}
如果您使用的是
split
inside
inside static
排水沟,那么应该可以正常工作。否则,您需要某种方法以网格每行中的
最后一个
元素为目标。CSS没有一种方法来定位第n个可见项,因此这需要在标记/js中添加逻辑。给定每4次可见结果的
last
类,您可以添加:

.last {
  @include last;
}