首页 > 解决方案 > 在 sass 地图中获取前 X 行?

问题描述

我有这张 sass 地图:

$breakpoints: (
    xs 0 $breakpoint-sm,
    sm $breakpoint-sm + 1 $breakpoint-md,
    md $breakpoint-md + 1 $breakpoint-lg,
    lg $breakpoint-lg + 1 $breakpoint-xlg,
    xlg $breakpoint-xlg + 1 $breakpoint-xxlg,
    xxlg $breakpoint-xxlg + 1 $no-limit
) !default;

现在我想在@each 循环中获取前四个“行”,这将如何实现?

标签: sasssass-maps

解决方案


当您知道要使用的值时,您可以这样做:

@each $key, $value in map-remove($breakpoints, xxlg, xlg) {
    @media (max-width: $value ){
        // dummy content printing out the breakpoint
        body::before { content: '#{$key}' }
    }
}

您不会循环x个项目,但您删除了您不想要的项目。
请注意,它不会改变您的原始地图。


推荐阅读