Stylus:为一个规则迭代多个选择器
Stylus: Iterate multiple selectors for one rule
我想迭代具有不同编号的选择器以创建多个选择器,这些选择器以逗号分隔分配给一个规则。
我进行了搜索,但没有在文档中找到任何类似的示例。
我正在尝试使用以下代码:
for num in (1..6)
.foo-{num}
color #dfd
但也有多个规则。
我想实现的是:
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #dfd;
}
join(range)
str = ''
for n in range
str += ',.foo-' + n
{join(1..5)}
color: #dfd
http://stylus-lang.com/docs/iteration.html#functions
编辑:评论中提到的问题的解决方案
multisize(sizes, before, after)
str = ''
for size in sizes
str += before + size + after + ','
{multisize(xs sm lg, 'cs.btn-', '.btn-blue:hover')}
color: #dfd
如果您使用 @extend
,您会得到用逗号分隔的选择器,您可以为规则使用占位符选择器:
手写笔
$rules
color #dfd
for num in (1..6)
.foo-{num}
@extend $rules
输出
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #dfd;
}
也可以使用+cache(key)
来实现,其中key
是一个唯一的字符串
for num in (1..6)
.foo-{num}
+cache('foo')
color #f00
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #f00;
}
我想迭代具有不同编号的选择器以创建多个选择器,这些选择器以逗号分隔分配给一个规则。
我进行了搜索,但没有在文档中找到任何类似的示例。
我正在尝试使用以下代码:
for num in (1..6)
.foo-{num}
color #dfd
但也有多个规则。
我想实现的是:
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #dfd;
}
join(range)
str = ''
for n in range
str += ',.foo-' + n
{join(1..5)}
color: #dfd
http://stylus-lang.com/docs/iteration.html#functions
编辑:评论中提到的问题的解决方案
multisize(sizes, before, after)
str = ''
for size in sizes
str += before + size + after + ','
{multisize(xs sm lg, 'cs.btn-', '.btn-blue:hover')}
color: #dfd
如果您使用 @extend
,您会得到用逗号分隔的选择器,您可以为规则使用占位符选择器:
手写笔
$rules
color #dfd
for num in (1..6)
.foo-{num}
@extend $rules
输出
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #dfd;
}
也可以使用+cache(key)
来实现,其中key
是一个唯一的字符串
for num in (1..6)
.foo-{num}
+cache('foo')
color #f00
.foo-1,
.foo-2,
.foo-3,
.foo-4,
.foo-5,
.foo-6 {
color: #f00;
}