将百分比值转换为LESS中的数字

TUN*_*R88 3 css css3 less

我需要将百分比值(51%)转换为数字(0.51)

做这个的最好方式是什么?

我的片段少了

// Gradients
#gradient {
    .vertical-gloss(@startColor: #555, @endColor: #333, @firstColorStop:50%, @secondColorStart:51%) {
        background-image: linear-gradient(bottom, @startColor @firstColorStop, @endColor @secondColorStart);
        background-image: -o-linear-gradient(bottom, @startColor @firstColorStop, @endColor @secondColorStart);
        background-image: -moz-linear-gradient(bottom, @startColor @firstColorStop, @endColor @secondColorStart);
        background-image: -webkit-linear-gradient(bottom, @startColor @firstColorStop, @endColor @secondColorStart);
        background-image: -ms-linear-gradient(bottom, @startColor @firstColorStop, @endColor @secondColorStart);
        background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.5, @startColor), color-stop(0.51, @startColor));
        background-repeat: repeat-x;
  }
}
Run Code Online (Sandbox Code Playgroud)

Rob*_*b W 6

  1. 使用此unit功能转换50%为50.
  2. 将结果除以100.不要忘记将计算括在括号内(括号在LESS 1.3中是可选的,但在LESS 1.4中是必需的).

为了便于阅读,我使用了一个辅助变量,如下所示:

.vertical-gloss(@startColor: #555, @endColor: #333, @firstColorStop:50%, @secondColorStart:51%) {
    @firstColorStopPerc: (unit(@firstColorStop) / 100);
    @secondColorStopPerc: (unit(@secondColorStart) / 100);
    /* ... skipped non-relevant pieces ... */
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(@firstColorStopPerc, @startColor), color-stop(@secondColorStopPerc, @startColor));
    background-repeat: repeat-x;
}
Run Code Online (Sandbox Code Playgroud)