我为边距创建了一个 LESS mixin,它接受多个数值并吐出带有 rem 测量单位和 px 后备的 css 值/属性对。
以下是我需要帮助的内容:
- 我希望 mixin 能够接受有效的基于字符串的属性,例如“auto”或“inherit”
- 我希望能够只声明必要的参数数量。例如。如果我只需要左边距,那么我只想写类似
.margin(nope,nope,nope,1);
.
这是我到目前为止所拥有的:
.margin(@sizeValueTop: auto, @sizeValueRight: 0, @sizeValueBottom: 0, @sizeValueLeft: 0) {
@pxValueTop: (@sizeValueTop * 16);
@remValueTop: (@sizeValueTop);
@pxValueRight: (@sizeValueRight * 16);
@remValueRight: (@sizeValueRight);
@pxValueBottom: (@sizeValueBottom * 16);
@remValueBottom: (@sizeValueBottom);
@pxValueLeft: (@sizeValueLeft * 16);
@remValueLeft: (@sizeValueLeft);
margin-top: ~"@{pxValueTop}px";
margin-top: ~"@{remValueTop}rem";
margin-right: ~"@{pxValueRight}px";
margin-right: ~"@{remValueRight}rem";
margin-bottom: ~"@{pxValueBottom}px";
margin-bottom: ~"@{remValueBottom}rem";
margin-left: ~"@{pxValueLeft}px";
margin-left: ~"@{remValueLeft}rem";
}
body{
.margin(1,1,1,1);
}
任何帮助都会很棒。