所以,超级有用的画廊' 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
以下是我的目标:
答案 0 :(得分:0)
不确定。您需要不使用nth-child选择器的输出 - 这将需要您的标记中的一些额外的类。我从复制粘贴the full gallery mixin from Susy开始,然后只更改mixin名称(因此它不会冲突),并用你的类命名约定替换任何提及的nth-child(第62-63行)。如果您可以设计与Susy现有的n-child模式匹配的类名,则不需要更改mixin。
我们甚至可以将此选项添加到现有的mixin中。随意在GitHub上提出问题,我们将对其进行审查。
更新:仔细观察,有一些更简单的选项,具体取决于您的需求。如果您将图库声明更改为简单跨度,则只需将.last
个类/ mixins添加到每行的最后一项。如果您将排水沟更改为inside
,inside-static
或split
,您甚至不需要这样做。简单的跨度将自行堆叠。
.item {
@include span(12 of 24 inside); // 2 across
@include breakpoint(600px) {
@include span(6 of 24 inside); // 4 across
}
// etc...
}
答案 1 :(得分:0)
相反,我只是将以下内容添加到我的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>