我见过的大多数Susy示例似乎都处理了在给定断点处列数发生变化的情况,即:
$total-columns: 4;
$large: 12;
// code based on 4 columns
@include at-breakpoint($large) {
// code based on 12 columns
}
但是,当您希望列数保持不变时,(例如)只是会更改列宽?像这样:
$total-columns: 12;
$column-width: 3em;
$large: 64em;
$large-column-width: 3.75em;
@include at-breakpoint($large) {
$column-width: $large-column-width; // automagically changes previously declared column-widths.
}
我希望在断点之前使用columns()
或span-columns()
自动将其值调整为新的列宽,而不必重新声明它们。
因此...
foo { @include span-columns(4, $total-columns); }
不会在断点处更改,但列的宽度会自动。
这可能吗?
答案 0 :(得分:0)
Susy 2使用susy-breakpoint的新more powerful shorthand syntax解决了这个问题。但Susy 1的方法并不复杂。 at-breakpoint
mixin是两个动作的简单包装器:
我建议下载Breakpoint(或类似的其他插件)来处理媒体查询方面的事情,但您也可以手动完成。 Susy提供了一个mixin来处理第二部分(with-grid-settings
)。如果你将这两者放在一起,你就拥有了更强大的at-breakpoint
版本。
$large: 64em;
$large-column-width: 3.75em;
@media (min-width: $large) {
@include with-grid-settings($column-width: $large-column-width) {
// new column-width applied to code in here.
}
}