我想创建一个功能,它执行以下操作:
.sprite-size (@width,@height,@x,@y) { width:~'@{width}px'; height:~'@{height}px'; background: @sprites no-repeat -~'@{x}px' -~'@{y}px'; }
我想传递一个postive值,在@x和@y中,然后在输出中取消它们。上述LESS功能为以下示例输出以下内容:
//LESS .header-language-selection { .sprite-size(44,21,312,0); } //Outputs CSS .header-language-selection { width: 44px; height: 21px; background: url('/Content/images/sprites.png') no-repeat - 312px - 0px; }
您可以看到输出结果包括 – 和px之间的空格。有什么办法可以去除这个并实现我想要的吗?
我想要该行的输出是:background:url(‘/ Content / images / sprites.png’)no-repeat -312px -0px;
解决方法
在你想要的符号和单位中乘以1。所以:
.sprite-size (@width,@y) { width: @width*1px; height: @height*1px; background: @sprites no-repeat @x*(-1px) @y*(-1px); }