css less mixin for fonts

Bog*_*dan 1 css less

如果浏览器不支持rem使用px,我正在尝试完成一个mixin来计算基于px的rem单位的字体大小和后备.但是我有一个问题,如果我解析让我们说16px它将成为值+ pxpx.

主要的问题是如果我想在其他地方使用相同的变量我不能,因为我必须在没有px或单位测量的情况下定义它.

如何使其通过包括单位测量在内的值并正确返回?

对于那些会非常快速地阅读它的人并认为为什么不在不使用px的情况下删除连接将无效.会成为pxrem

.remCalc(@sizeValue) {
  @remValue: (@sizeValue / @font-size-base);
  font-size: ~"@{sizeValue}px";
  font-size: ~"@{remValue}rem";
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*jak 5

你可以使用unit()函数.

.remCalc(@sv) {
  @sizeValue: unit(@sv);
  @remValue: (@sizeValue / @font-size-base);
  font-size: unit(@sv,px);
  font-size: unit(@remValue,rem)";
}
Run Code Online (Sandbox Code Playgroud)

例:

@sv: 10px;
Run Code Online (Sandbox Code Playgroud)

该功能可以剥离单位

unit(@sv); // 10
Run Code Online (Sandbox Code Playgroud)

或更改单位

unit(@sv,em); // 10em
Run Code Online (Sandbox Code Playgroud)