LESS Mixin用于线高

时间:2013-02-07 19:17:50

标签: css less css-preprocessor

我使用此mixin生成具有后备像素大小的rem字体大小,但也生成一个1.5倍字体大小的行高。

.font(@size: 16px, @line: @size) {
@remfont: (@size / 10);
@remline: (@size / 10) * 1.5;
font-size: @size * 1px;
font-size: ~"@{remfont}rem";
line-height: @size * 1.5px;
line-height: ~"@{remline}rem";
}

否定的是,我需要为我的行高输入一个值,尽管编译后不需要它。我的LESS使用这个mixin是这样的:

.font (13, 10);

结果就是这个结果:

font-size: 13px;
font-size: 1.3rem;
line-height: 19.5px;
line-height: 1.9500000000000002rem;

有没有办法重新编写这个mixin,以便输出一个1.5倍我的字体大小的行高,而不需要输入值?

1 个答案:

答案 0 :(得分:2)

找到解决方案。现在似乎使用@string值工作而不需要比单数更多的值。混入:

.font(@string) {
@remfont: (@string / 10);
@remline: (@string / 10) * 1.5;
font-size: @string * 1px;
font-size: ~"@{remfont}em";
line-height: @string * 1.5px;
line-height: ~"@{remline}em";
}

样式表用法:

.font (14);

输出:

font-size: 14px;
font-size: 1.4em;
line-height: 21px;
line-height: 2.0999999999999996em;