sass:list
- Dart·Sass(Dart Sass)
- 从 1.23.0开始
- LibSass
- ✗
- rubySass
- ✗
目前只有Dart Sass支持使用加载内置模块@use
。其他实现的用户必须使用其全局名称来调用函数。
???? 有趣的事实:
在Sass中,每个映射都算作一个列表,其中包含每个键/值对的两个元素的列表。例如,(1: 2, 3: 4)
算作(1 2, 3 4)
。因此,所有这些功能也适用于地图!
各个值也计为列表。所有这些功能都视为1px
包含值的列表 1px
。
list.append($list, $val, $separator: auto)
append($list, $val, $separator: auto) //=> list
返回的副本$list
与$val
添加到末尾。
如果$separator
为comma
,则返回的列表以逗号分隔。如果为space
,则返回的列表以空格分隔。如果是auto
(默认值),则返回列表将使用与$list
(或space
如果$list
没有分隔符)相同的分隔符。不允许使用其他值。
请注意,与是列表不同的是list.join()
,$val
它嵌套在返回列表中,而不是将其所有元素添加到返回列表中。
SCSS 语法
@debug list.append(10px 20px, 30px); // 10px 20px 30px
@debug list.append((blue, red), green); // blue, red, green
@debug list.append(10px 20px, 30px 40px); // 10px 20px (30px 40px)
@debug list.append(10px, 20px, $separator: comma); // 10px, 20px
@debug list.append((blue, red), green, $separator: space); // blue red green
Sass语法
@debug list.append(10px 20px, 30px) // 10px 20px 30px
@debug list.append((blue, red), green) // blue, red, green
@debug list.append(10px 20px, 30px 40px) // 10px 20px (30px 40px)
@debug list.append(10px, 20px, $separator: comma) // 10px, 20px
@debug list.append((blue, red), green, $separator: space) // blue red green
list.index($list, $value)
index($list, $value) //=> number | null
返回指数的$value
在 $list
。
如果$value
未出现$list
,则返回null
。如果在中$value
出现多次$list
,则返回其第一次出现的索引。
list.is-bracketed($list)
is-bracketed($list) //=> boolean
返回是否$list
有方括号。
list.join($list1, $list2, $separator: auto, $bracketed: auto)
join($list1, $list2, $separator: auto, $bracketed: auto) //=> list
返回包含元素的新列表,$list1
后跟的元素 $list2
。
Head️抬头!
由于单个值算作单元素列表,因此可以使用list.join()
将值添加到列表的末尾。但是,不建议这样做,因为如果该值是一个列表,它将被连接起来,这可能不是您所期望的。
list.append()
改为使用单个值添加到列表。仅用于list.join()
将两个列表合并为一个。
如果$separator
为comma
,则返回的列表以逗号分隔。如果为space
,则返回的列表以空格分隔。如果是auto
(默认值),则返回的列表将使用相同的分隔符,就$list1
好像它具有分隔符一样,或者$list2
如果它具有分隔符,或者否则space
。不允许使用其他值。
如果$bracketed
为true
,则返回的列表带有方括号。如果为false
,则返回的列表没有括号。如果是auto
(默认),则返回列表将放在括号$list1
中。不允许使用其他值。
SCSS 语法
@debug list.join(10px 20px, 30px 40px); // 10px 20px 30px 40px
@debug list.join((blue, red), (#abc, #def)); // blue, red, #abc, #def
@debug list.join(10px, 20px); // 10px 20px
@debug list.join(10px, 20px, $separator: comma); // 10px, 20px
@debug list.join((blue, red), (#abc, #def), $separator: space); // blue red #abc #def
@debug list.join([10px], 20px); // [10px 20px]
@debug list.join(10px, 20px, $bracketed: true); // [10px 20px]
Sass语法
@debug list.join(10px 20px, 30px 40px) // 10px 20px 30px 40px
@debug list.join((blue, red), (#abc, #def)) // blue, red, #abc, #def
@debug list.join(10px, 20px) // 10px 20px
@debug list.join(10px, 20px, comma) // 10px, 20px
@debug list.join((blue, red), (#abc, #def), space) // blue red #abc #def
@debug list.join([10px], 20px) // [10px 20px]
@debug list.join(10px, 20px, $bracketed: true) // [10px 20px]
list.separator($list)
list-separator($list) //=> unquoted string
返回分隔符的名称使用$list
,无论是space
或 comma
。
如果$list
没有分隔符,则返回 space
。
SCSS 语法
@debug list.separator(1px 2px 3px); // space
@debug list.separator(1px, 2px, 3px); // comma
@debug list.separator('Helvetica'); // space
@debug list.separator(()); // space
Sass语法
@debug list.separator(1px 2px 3px) // space
@debug list.separator(1px, 2px, 3px) // comma
@debug list.separator('Helvetica') // space
@debug list.separator(()) // space
list.set-nth($list, $n, $value)
set-nth($list, $n, $value) //=> list
返回索引为$list
的元素替换 为的的副本。 $n
$value
如果$n
为负,则从开始$list
。如果index处没有现有元素,则会引发错误 $n
。
SCSS 语法
@debug list.set-nth(10px 20px 30px, 1, 2em); // 2em 20px 30px
@debug list.set-nth(10px 20px 30px, -1, 8em); // 10px, 20px, 8em
@debug list.set-nth((Helvetica, Arial, sans-serif), 3, Roboto); // Helvetica, Arial, Roboto
Sass语法
@debug list.set-nth(10px 20px 30px, 1, 2em); // 2em 20px 30px
@debug list.set-nth(10px 20px 30px, -1, 8em); // 10px, 20px, 8em
@debug list.set-nth((Helvetica, Arial, sans-serif), 3, Roboto); // Helvetica, Arial, Roboto
list.zip($lists...)
zip($lists...) //=> list
将每个列表合并$lists
为一个子列表。
返回列表中的每个元素都包含中该位置的所有元素$lists
。返回的列表与中的最短列表一样长 $lists
。
返回的列表始终以逗号分隔,子列表始终以空格分隔。
SCSS 语法
@debug list.zip(10px 50px 100px, short mid long); // 10px short, 50px mid, 100px long
@debug list.zip(10px 50px 100px, short mid); // 10px short, 50px mid
Sass语法
@debug list.zip(10px 50px 100px, short mid long) // 10px short, 50px mid, 100px long
@debug list.zip(10px 50px 100px, short mid) // 10px short, 50px mid