Css SASS:如何忽略循环
我有两个SCSS数组(Css SASS:如何忽略循环,css,arrays,sass,Css,Arrays,Sass,我有两个SCSS数组($color\u options和$object\u options) 我想使用SCS在这两个数组中循环,以组合来自这两个数组的值 我已经创建了一个函数来做这件事,一切都很好。但是,有时我只想循环通过颜色数组而忽略对象数组。我该怎么做 这是我的代码(*): 我已采取的步骤: 我已尝试包装所有代码,以便在@if$object\u options!=空。 这是可行的,但是当使用$object\u options时,该函数将仅循环通过$object\u options数组中的最
$color\u options
和$object\u options
)
我想使用SCS在这两个数组中循环,以组合来自这两个数组的值
我已经创建了一个函数来做这件事,一切都很好。但是,有时我只想循环通过颜色数组而忽略对象数组。我该怎么做
这是我的代码(*):
我已采取的步骤: 我已尝试包装所有代码,以便在
@if$object\u options!=空
。
这是可行的,但是当使用$object\u options
时,该函数将仅循环通过$object\u options
数组中的最后一项
代码示例 (*)这是我的代码的精简版本。完整示例可在此处找到: 它不使用
@if$object\u选项!=空
使用@if$object\u选项!=空
**预期产量**
(这是基于上面链接的代码的完整版本)
基本上,$color\u选项和$object\u选项都包含5个元素。
SCSS代码从$color_选项和$object_选项中获取元素并将其组合。但是,如果$object\u options设置为null,则不会有组合,只会使用$color\u options中的元素 。您应该使用
@if
来实现分支。。你应该使用@if
来实现分支。你能显示你期望的输出吗?@cimmanon我已经更新了我的帖子。除了在@if
s@JAre中包装代码之外,没有其他方法了。请你将你的评论作为答案发布,这样我就可以将其标记为正确。你能显示你期望的输出吗?@cimmanon我已经更新了我的帖子发布。除了在@if
s@JAre中包装代码之外,没有其他方法。请您将您的评论作为答案发布,以便我可以将其标记为正确。sass的首席开发人员认为,这对于循环来说不是根本的,因为它不是一种“成熟的编程语言”。sass的首席开发人员认为这不是循环的基础,因为它不是一种“成熟的编程语言”。这在我看来是荒谬的。
@function generic-avatar-hidden($color_options: $color_options, $object_options: $object_options) {
$bg: compact();
@each $ov in $object_options {
$o-css-selector: nth($ov, 1);
@each $cv in $color_options {
$c-css-selector: nth($cv, 1);
$assetname: $o-css-selector + $c-css-selector;
$bg: join($bg, image-url("#{$root-directory}/#{$brand}/#{$product}/#{$type}/#{$product}-#{$type}-#{$path-pre}#{$assetname}#{$path-post}.#{$ext}"), comma);
}
// Close CV
}
// Close OV
@return $bg;
}