要完成我的CSS,我使用SCSS框架inuitcss(https://github.com/inuitcss/inuitcss),它提供用于响应间隔的实用程序,如下所示:
.u-1/3@mobile
.u-margin-bottom@mobile
像这样的类遵循“移动优先”的方法,这意味着,如果平板电脑或台式机状态发生变化,则需要使用另一个实用程序类对其进行“覆盖”或“取消”。像这样:
.u-1/2@tablet
.u-margin-bottom-none@tablet
我想通过将某些实用程序类仅绑定到它们的响应状态来更改此行为,因此不需要取消。
当前,负责生成这些实用程序类的mixin如下所示(它使用Sass-mq):
@each $inuit-bp-name, $inuit-bp-value in $mq-breakpoints {
@include mq($from: $inuit-bp-name) {
@include inuit-widths($inuit-fractions, #{$inuit-widths-breakpoint-separator}#{$inuit-bp-name});
}
}
为了实现我的目标,我将不得不修改@include mq(
函数以使用第二个参数,该参数看起来像这样:
@include mq($from: $inuit-bp-name, $to: [next $inuit-bp-name]) {
这是我的问题:
如何获取地图中的下一个值?
如果没有下一个值,如何防止错误?
我至少设法获得了索引值,如下所示:
@each $inuit-bp-name, $inuit-bp-value in $mq-breakpoints {
$i: index(($mq-breakpoints), ($inuit-bp-name $inuit-bp-value));
@debug "INDEX" $i;
}
为了便于测试,我准备了一个带有以下代码的代码笔,可以在这里找到: https://codepen.io/rowild/pen/EOgvKy
答案 0 :(得分:1)
由于当前无法从Codepen链接到Inuitcss(也没有CDN),因此我首先必须准备一个github repsoitory,以使用github页面来解决这个问题。如果您也想在codepen,jsFiddle等中快速实现inuitcss(包括“受限响应间隔”类和其他类),请在这里找到:
https://github.com/rowild/inuitcss-generated
可以在此处找到显示如何将inuitcss包含在codepen中的示例codepen:
https://codepen.io/rowild/pen/YRVvRe
对于生成“受限响应间隔”类的SCSS函数(我现在称之为它们),我做了以下事情:
在最内部的循环中,新变量updateProfile
保留了地图的fetch("https://randomuser.me/api/?results=5000")
.then(t=>t.JSON())
.then(result=>console.log(result))
值。
新功能如下:
$next
谢谢ReSedano!