【发布时间】:2017-01-18 13:57:08
【问题描述】:
我有一些基本的 mixin,它们使用媒体查询应用一些规则
.on-small(@rules) {
@media (@minWidthSmall) { @rules(); }
}
.on-medium(@rules) {
@media (@minWidthMedium) { @rules(); }
}
// and .on-large, .on-x-large and so on
我正在尝试构建一个非常简单的基于 flex 的网格系统,我正在尝试将提到的 mixin 作为参数传递,这样我就可以拥有一个通用的 .make-column mixin。如下:
.make-col(@break-point-mixin, @span, @size) {
flex: 1;
box-sizing: border-box;
/***********************************************************
Is the following line possible in LESS somehow?
***********************************************************/
@break-point-mixin({
width: percentage(@span/@size);
min-width: percentage(@span/@size);
});
}
.grid-col-on-small(@span: 1, @size: 1) {
.make-col(@break-point-mixin: .on-small, @span, @size);
}
.grid-col-on-medium(@span: 1, @size: 1) {
.make-col(@break-point-mixin: .on-medium, @span, @size);
}
但不幸的是,将@break-point-mixin 作为参数传递并从.make-col 内部调用它会崩溃:
Unrecognised input. Possibly missing opening '('
【问题讨论】:
标签: css less less-mixins