susy 2 gallery mixin与IE8不兼容。解决方法?

时间:2014-07-08 18:48:51

标签: internet-explorer-8 susy-sass

所以,超级有用的画廊' susy2中的mixin使用了nth-child选择器,它在IE8中不起作用。那么什么是一个好的解决方法?

我正在考虑扩展图库mixin并添加ie8特定样式。这可能与susy有关吗?

这是我的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的要点:http://sassmeister.com/gist/59927698cfbba6fadbf5

以下是我的目标: gallery look

2 个答案:

答案 0 :(得分:0)

不确定。您需要不使用nth-child选择器的输出 - 这将需要您的标记中的一些额外的类。我从复制粘贴the full gallery mixin from Susy开始,然后只更改mixin名称(因此它不会冲突),并用你的类命名约定替换任何提及的nth-child(第62-63行)。如果您可以设计与Susy现有的n-child模式匹配的类名,则不需要更改mixin。

我们甚至可以将此选项添加到现有的mixin中。随意在GitHub上提出问题,我们将对其进行审查。

更新:仔细观察,有一些更简单的选项,具体取决于您的需求。如果您将图库声明更改为简单跨度,则只需将.last个类/ mixins添加到每行的最后一项。如果您将排水沟更改为insideinside-staticsplit,您甚至不需要这样做。简单的跨度将自行堆叠。

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

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

  // etc...
}

答案 1 :(得分:0)

好吧,我想在画廊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中的内部装订线设置。

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