使用 Sass Mixins,您必须使用媒体查询来显式更改网格。我解决这个问题的方法是创建一个 Mobile First 站点,然后将定义网格的 Sass 代码复制到 2 个媒体查询中,如下所示:
// Mobile Grid
@media only screen and (max-width: 768px) { ... }
// Desktop & Tablet Grid
@media #{$small} { ... }
我找不到任何明确的例子来说明这是如何工作的。根据我收集到的内容,您应该能够在 Sass 中定义网格,然后仅使用@media #{$small} {}
媒体查询覆盖它,但实际上我无法让它工作。我尝试在另一个网格之前、之后等进行媒体查询,结果是您第一次设置网格时它保持不变。
这是一个更长的例子。在这种情况下,#dashboard
它是堆叠并以移动设备为中心,在台式机/平板电脑上以 3 列为中心。这将class="small-10 small-centered large-4 columns"
用于使用演示类。
// Mobile Grid
@media only screen and (max-width: 768px) {
#dashboard { @include grid-row;
& > #stats { @include grid-column(10, false, true); }
& > #records { @include grid-column(10, false, true); }
& > #results { @include grid-column(10, false, true); }
}
}
// Desktop & Tablet Grid
@media #{$small} {
#dashboard { @include grid-row;
& > #stats { @include grid-column(4, false, false); }
& > #records { @include grid-column(4, false, false); }
& > #results { @include grid-column(4, false, false); }
}
}
注意:您可以对此进行扩展并使用 mixins 设置更多断点,但这似乎模拟了默认的 Zurb F4 演示类行为。