我有一个Bootstrap变量设置字体大小,以像素为单位 - @font-size-base: 14px;
- 很可爱。但我想使用动态创建的变量名访问该14px值:
@size = ‘base’; // or 'large', 'small' etc.
@someFontSizeVar = ~'@{font-size-@{size}}’;
麻烦的是,那种插值输出一个字符串,即’14px’
,所以我再也无法运行数学函数了:
round(~'@{font-size-@{size}}’); // Fails
我需要将插值输出恢复为它只是@font-size-base: 14px;
时的格式/类型 - 我不确定它是什么,它表现得像一个数字,但我不是确定它真的是一个,因为最后px
。在Less Less中没有找到很多字符串到数字转换函数的方法。
基本上我需要numberWithUnits('14px'),但这是一厢情愿的想法:)我找到了这样做的颜色函数,它可以给你一个颜色对象(color(~'@{btn-@{someVar}-bg}')
)但是还没有数字/ CSS字体大小单位。
(px可能是em,rem等等。)
谢谢,
加雷
答案 0 :(得分:1)
使用普通variable references:
而不是滥用嵌套字符串插值(那些从未打算用作间接变量引用工具)。@font-size-base: 16px;
@size: base;
p {
@s: "font-size-@{size}";
font-size: round(@@s);
}