在 Less 中,我已经定义了以下内容:
(同样适用于宽度)
现在我可以使用:
但是当我在某个类中尝试这样做时:
@height-5: (@winheight / 100) * 5;
@height-10: (@winheight / 100) * 10;
...etc
@winheight
源于:
@winheight:`$(window).height()`;
(同样适用于宽度)
现在我可以使用:
width: ~"@{width-10}px";
height: ~"@{height-100}px";
将窗口的 百分比
设置为 像素
。
现在,我想要计算一个像这样的高度和宽度:
left: @width-80 + @height-10 + "px";
或者:
left: ~"@{width-80 + @height-10}px";
第一个不起作用,因为它在value
和px
之间放了一个空格。
第二个无法编译,我尝试了一些变化,但没有成功。
.
第二个问题是我想把它做成一个函数,而不是定义每个百分比,我尝试了这个:
.winheight (@percentage){
height: (@winheight / 100) * @percentage;
}
但是当我在某个类中尝试这样做时:
.winheight(10)
我遇到了一个错误。 基本上我想要的只是以某种方式返回一个值,例如:
@win_height_perc(@perc): (@winheight / 100) * @perc;
不需要为height:
,width:
,top:
和left:
定义单独的函数了。
(我正在使用less.watch()
更新 $(window).resize
以更新像素/百分比)
*1px
可以工作,我猜同样的+0px
也可以工作,因为LESS会将其转换为px
值。(在某些元素上使用%的问题是行为会被破坏,所以我更喜欢动态生成像素值。虽然我认为%值不应该改变元素的行为,并且应该由浏览器正确处理..) - TrySpace