使用 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 表示类行为。