css - SCSS - 从键 2 开始循环列表
问题描述
如果我有如下列表:
$breakpoints: (
all: all,
xl: 1200,
lg: 1037,
md: 797,
sm: 615,
xs: 415,
);
是否有@each
任何方法可以遍历列表,但首先删除第一个键,或者从键 2 开始?
解决方案
我可以想到两种方法来实现这一目标。
1. 使用@each 循环
在这个循环中,我将检查值是否等于“all”,如果是,我什么也不做,继续我的循环。
它运行良好,但如果您决定将“all”更改为其他名称,则需要更新循环。
@each $key, $value in $breakpoints {
@if ($value == "all") {} // If the value == all, do nothing
@else {
@media screen and (max-width: $value) {
/* Your fancy code */
}
}
}
2. 使用@for 循环
在这个循环中,我将从 2 开始遍历 $breakpoints 的长度。
然后,我将根据索引检索值。
@for $i from 2 through (length($breakpoints)) {
$breakpoint : nth($breakpoints, $i);
$value : nth($breakpoint, 2);
@media screen and (max-width: $value) {
/* Your fancy code */
}
}
编辑
使用 @each 循环可以更容易:
@each $key, $value in $breakpoints {
$i: index($breakpoints, $key $value);
@if ($i != 1)
{
@media screen and (max-width: $value) {
/* Your fancy code */
}
}
}
推荐阅读
- flutter - 颤动箭头标签栏?
- swagger - OpenAPI 3.0:字段的可编辑性 - 动态
- azure-devops - Azure DevOps 有条件地执行依赖于另一个阶段中的作业的作业
- php - Symfony 5 约束验证:自定义错误消息
- java - 如何解决[线程“main”java.lang.NullPointerException中的异常]的问题
- javascript - 在framework7中重新加载页面
- javascript - 下面的代码适用于函数声明,但不适用于函数表达式
- c# - C# 异步后续调用返回现有任务
- python-3.x - python pandas中列表中几列的groupby行
- excel - 使用数组变量中的工作表数据创建图表