为了明白这一点,我正在谈论http://lesscss.org/
中描述的“LESS”我阅读了文档并进行了一些搜索,但我没有找到用一些“null”或未定义参数调用mixin的可能性。
例如来自retina.js的这个mixin文件较少:
.at2x(@path, @w: auto, @h: auto)
有2个可选参数。
现在我只想用定义的路径和高度来调用它。我该怎么做?
不起作用的事情:
.at2x(EXAMPLEURL, '', 500px)
.at2x(EXAMPLEURL, null, 500px)
.at2x(EXAMPLEURL, , 500px)
.at2x(EXAMPLEURL,, 500px)
.at2x(EXAMPLEURL, undefined, 500px)
当然可以称之为:
.at2x(EXAMPLEURL, auto, 500px)
答案 0 :(得分:2)
您可以使用"Named Parameters":
.at2x(EXAMPLEURL, @h: 500px);
答案 1 :(得分:0)
是一个转义空字符串,如下所示:
.at2x(EXAMPLEURL, ~'', 500px);
除了空白字符外,这将为@w
变量输出“nothing”。这不一定会消除它所用的属性,但它会使该属性在css中无效。因此,如果用于设置width: @w
:
width: ;
在css中会被忽略。或者如果它是background-size: @w @h
的一部分,你会得到这样的结果:
background-size: 500px;
当然,在这个术语的正常编程意义上,这不是真正的NULL
,但我认为这正是你所寻找的。 p>
答案 2 :(得分:-1)
我和Less有同样的问题,我找到了解决方法。
FIX:
@font-face {
font-family: 'Name';
src: url('Font.ext');
font-weight: 400;
font-style: normal;
}
问题示例:
之前:
@MyEmptyVar: e("");
之后:
/* Input (Style.less)*/
@IconPrefix: "";
/*
* With my less version this
* @IconPrefix: ; cause a compilation error
*/
.@{IconPrefix}glass:before {
content: "\f000";
}
/* Output (Style.css)*/
.""glass:before {
content: "\f000";
}