0

我有一张断点图,如下所示:

$grid-breakpoints: (
    xs: 0,
    sm: 568px,
    md: 768px,
    lg: 992px,
    xl: 1280px,
    xxl: 1500px
) !default;

我需要循环这些,但是我想在sm断点处开始循环。这是我当前的循环:

@each $name, $value in $grid-breakpoints {
    @include media-breakpoint-up(#{$name}) {
        @for $i from 1 to 13 {

            .. stuff here

        }
    }
}

到目前为止我还没有找到一个,但是有没有办法将上面的开场线调整为这样的:

@each $name, $value in $grid-breakpoints[2:] {

干杯

4

2 回答 2

1

您可以使用map-remove函数,该函数将ArgList作为第二个参数。

演示 (SassMeister)

$grid-breakpoints: (
    xs: 0,
    sm: 568px,
    md: 768px,
    lg: 992px,
    xl: 1280px,
    xxl: 1500px
) !default;


@each $name, $value in map-remove($grid-breakpoints, 'xs', 'sm') {
  .. stuff here
}
于 2018-10-26T09:34:23.980 回答
1

您可以检查循环中的索引号,如果它> 1,请执行以下操作:

$grid-breakpoints: (
    xs: 0,
    sm: 568px,
    md: 768px,
    lg: 992px,
    xl: 1280px,
    xxl: 1500px
) !default;

@each $name, $value in $grid-breakpoints {
  $i: index($grid-breakpoints, $name $value);

  @if $i>1{

    do something...

  }
}
于 2018-10-25T22:10:21.907 回答