我想做的是遍历我的媒体查询和 sass 中的列。例如,我使用以下代码生成了列类:
$__grid--columns: 12;
$__grid--breakpoints: (
small:0,
medium:667px,
large:1024px,
xlarge:1200px
);
$__grid--gutters: (
small:30px,
medium:30px,
large:30px
);
@each $key, $value in $__grid--breakpoints {
@for $i from 1 through $__grid--columns {
&.#{$key}-#{$i} {
width: ( (100% / $__grid--columns) * $i);
}
}
}
Codepen 链接也在这里:https ://codepen.io/Jesders88/project/editor/bd9e637b08b6c1c907c7fbe8211192f9
我想使用上面的 sass 地图,它工作正常。我挂断的地方是媒体查询。我不想为我的 sass 映射静态编码 4 个 if 语句。它需要动态完成。基本上它归结为在这种情况下我想cell-small
通过一组课程。cell-xlarge
如果我添加断点,mixin 需要适应它。基本上它需要类似于引导程序或基础。以下是我的想法。
<div class="cell cell-sm-12 cell-lg-4">
@content Goes Here.
</div>
基本上我需要一种在小断点处中断的方法来制作 12 列,并且在大屏幕上只有 4 列。同样,我不想循环通过断点而不得不静态地说
@if(breakpoint == sm){ do this }
sass 映射将是断点的定义。
如果这没有意义,请随时提出问题。另外,如果您愿意,请随时分叉我的笔并进行编辑。谢谢您的帮助。
我想要的示例
<div class="container">
<div class="row gutter">
<div class="cell small-12 large-4">
Content Goes HERE
</div>
</div>
</div>
CSS
.gutter {
> .cell { margin-left://GENERATED FROM SASS MAP }
> .cell .small-1 { //GENERATED WIDTH }
> .cell .small-2 { //GENERATED WIDTH }
> .cell .small-3 { //GENERATED WIDTH }
> .cell .small-4 { //GENERATED WIDTH }
> .cell .small-5 { //GENERATED WIDTH }
> .cell .small-6 { //GENERATED WIDTH }
> .cell .large-1 { //GENERATED WIDTH }
> .cell .large-2 { //GENERATED WIDTH }
> .cell .large-3 { //GENERATED WIDTH }
> .cell .large-4 { //GENERATED WIDTH }
> .cell .large-5 { //GENERATED WIDTH }
> .cell .large-6 { //GENERATED WIDTH }
//REST OF THE VALUES ....
}