Internet explorer 8 susy 2 gallery mixin与IE8不兼容。解决办法?

Internet explorer 8 susy 2 gallery mixin与IE8不兼容。解决办法?,internet-explorer-8,susy-sass,Internet Explorer 8,Susy Sass,因此,susy2中超级有用的“gallery”mixin使用了第n个子选择器,这在IE8中不起作用。那么什么是好的解决方法呢 我正在考虑扩展gallery mixin并添加ie8特定样式。苏西有可能吗 以下是我的sass代码,如果有帮助的话: .grid_gallery li.slide { @include gallery(12 of 24); //2 across margin-bottom: gutter(24); @include breakpoint(600px) {

因此,susy2中超级有用的“gallery”mixin使用了第n个子选择器,这在IE8中不起作用。那么什么是好的解决方法呢

我正在考虑扩展gallery mixin并添加ie8特定样式。苏西有可能吗

以下是我的sass代码,如果有帮助的话:

.grid_gallery li.slide {
  @include gallery(12 of 24); //2 across
  margin-bottom: gutter(24);
  @include breakpoint(600px) {
    @include gallery(6 of 24); //4 across
  }
  @include breakpoint(769px) {
    @include gallery(4.8 of 24); //5 across
  }
  @include breakpoint(1200px) {
    @include gallery(4 of 24); //6 across
  }
}
下面是将此SASS简化为css的要点:

以下是我想要的外观:
当然可以。您需要不使用第n个子选择器的输出—这将需要标记中的一些额外类。我将从复制粘贴开始,然后只更改mixin名称,这样它就不会冲突,并用类命名约定第62-63行替换对第n个孩子的任何提及。如果可以设计与Susy现有的第n个子模式相匹配的类名,那么不需要对mixin进行太多更改

我们甚至可以将此选项添加到现有的mixin中。请随意在GitHub上提交一个问题,我们将查看它

更新:仔细看,有一些更简单的选择,这完全取决于你需要什么。如果将库声明更改为简单跨距,则只需将.last类/混合项添加到每行的最后一项。如果你把排水沟改成内排水沟、内排水沟、内排水沟、内排水沟,你甚至不需要这样做。简单跨距将自行正确叠加

.item {
  @include span(12 of 24 inside); // 2 across

  @include breakpoint(600px) {
    @include span(6 of 24 inside); // 4 across
  }

  // etc...
}

好吧,我想在gallery mixin中专门为IE8编写样式,以切换到“内部”排水沟,但我就是不知道如何做到这一点

相反,我只是在IE样式表中添加了以下内容:

.ie8 .grid_gallery li.slide {
  @include span(4 of 24 inside); // ie8 needs to switch to an 'inside' gutter system. It doesn't handle nth-child css
}
因此,这个span mixin添加到了一些先前称为的gallery mixin样式中。基本上,仅在IE8中将其更改为内部排水沟设置


当我真的需要的时候,比如当cms生成的项目数量未知时,或者在html中无法设置每行的最后一个元素时,我已经切换到只使用gallery mixin。

谢谢,但我不能使用inside或inside static或split,因为这会稍微改变设计。和“.last”不可用,因为库项目是动态的,并且来自cms。尽管我现在的目标是只使用ie8的“内部”解决方案。我已经添加了一个自定义的_gallery mixin,现在我正在尝试添加一个“如果ie8”使用“内部水槽”功能。