我试图弄清楚是否有可能组合 mixin 选择器字符串。我不相信这在我的代码上下文中是可能的,但我很可能会遗漏一些东西!
假设我有以下scss:
// Apply a set of rules to input form fields.
@mixin input-form-fields {
input:not([type="hidden"]),
textarea {
@content;
}
}
// Apply a set of rules to button form fields.
@mixin button-form-fields {
button, button {
@content;
}
}
// Apply a set of rules to select form fields.
@mixin select-form-fields {
select {
@content;
}
}
// Apply a set of rules to all form fields.
@mixin all-form-fields {
@include input-form-fields {
@content;
}
@include button-form-fields {
@content;
}
@include select-form-fields {
@content;
}
}
基本上 all-form-fields mixin 将调用其他 mixin,从而为不同的选择器生成相同的规则集。
如果我编译以下代码:
@include all-form-fields {
margin-bottom: .5em;
}
我会得到类似的东西:
input:not([type="hidden"]),
textarea {
margin-bottom: .5em;
}
button,
.button {
margin-bottom: .5em;
}
select {
margin-bottom: .5em;
}
这并不理想,如果我可以组合这些选择器,我会喜欢的。
有没有人对我如何组合由 3 个不同的 mixin 返回的选择器字符串有任何想法?