在萨斯的小数位破坏@while

时间:2015-06-24 06:22:13

标签: sass compass-sass

尝试使用以下代码创建一些用于定义不透明度的类:

"fi_FI"

但是我收到以下错误:

" .opacity-30之后的CSS无效。":期望的类名,是" 0"

看起来它在一段时间之后添加了一段时间...不确定是什么原因造成的。

使用Sass 3.4.14

使用指南针

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您似乎需要对类名称中的数字进行舍入:如果您打印/* #{$i*100} */,编译器将同时计算30.090.0100.0

所以你可以使用round()函数(reference)去掉任何小数

$i : 0;
@while $i <= 1 {

   /* #{$i*100} */
  .opacity-#{round($i*100)} {
    opacity: $i !important;
  }

  $i : $i + 0.1;
}

结果输出(在sassmeister上测试)是

/* 0 */
.opacity-0 { opacity: 0 !important; }

/* 10 */
.opacity-10 { opacity: 0.1 !important; }

/* 20 */
.opacity-20 { opacity: 0.2 !important; }

/* 30.0 */
.opacity-30 { opacity: 0.3 !important; }

/* 40 */
.opacity-40 { opacity: 0.4 !important; }

/* 50 */
.opacity-50 { opacity: 0.5 !important; }

/* 60 */
.opacity-60 { opacity: 0.6 !important; }

/* 70 */
.opacity-70 { opacity: 0.7 !important; }

/* 80 */
.opacity-80 { opacity: 0.8 !important; }

/* 90.0 */
.opacity-90 { opacity: 0.9 !important; }

/* 100.0 */
.opacity-100 { opacity: 1.0 !important; }