【发布时间】:2017-01-13 19:01:40
【问题描述】:
假设您想要一个接受参数的 mixin,并使用该参数调用不同的 mixin。
.text-right {
text-align: right
}
.text-center {
text-align: center;
}
.text-left {
text-align: left;
}
// mixin to call one of the above selectors
.text-align( @direction ) {
.text-@{direction};
}
body {
.text-align(right);
}
// Unrecognized input on this line
// .text-@{direction};
尝试这样做会导致在您尝试插入参数的行上出现无法识别的输入。
Here's a codepen I made for it.
如何接受一个参数,然后使用该参数调用不同的 mixin(其中参数名称是 mixin 名称的一部分)??
【问题讨论】:
-
这似乎是不可能的,但反过来是可能的:codepen.io/mtbottens/pen/rjLJaX #dinklage
-
视情况而定。如果您的示例是抽象的(不仅仅是关于
text-left-right-whatever可以更容易编码),即它实际上是关于可重用的混入,那么只需 不要 将混入参数编码为混入名称。保持参数作为参数,考虑到这一点,整个故事确实应该完全相反,for example。 -
说到赏金,没有任何意义。答案很简单:“你不能”。 (因此 cmets 建议修改您的方法,即使 Less 具有这样的功能,这也是有缺陷的)。
标签: less interpolation mixins