我有一个 sass 公式的问题,公式通过了,但没有给出正确的结果。

@for $i from 0 through 99 {
   $j:0;
   @if $i>15 {
     $j:1; 
   }
   @if $i>31 {
     $j:2; 
   }
   @if $i>47 {
     $j:3; 
   }
   @if $i>63 {
     $j:4; 
   }
   @if $i>79 {
     $j:5; 
   }

   $k:$i%16;

   $calc-pos-y:calc(#{$j*20%} + #{#{$i%8*$i%8}px});
}

例如,当$i=91 ,通常$i%8*$i%8应该是3*3=9 ,所以$calc-pos-x: calc(100% +9px) 但是,我得到calc(100% +1px)

随着我增加$i ,我相继获得:

  calc(100% +0px)
  calc(100% +1px)
  calc(100% +4px)
  calc(100% +1px)

对于$i=88我得到calc(100% +0px) ,这很好。
对于$i=89我得到calc(100% +1px) ,这很好。
对于$i=90我得到calc(100% +4px) ,这很好。

我认为$i=91的结果是(91*91)%8 ,所以8281%8=1

我怎么能有3*3=9

$calc-pos-y:calc(#{$j*20%} + #{#{$i%8}*#{$i%8} px}); //give an error

===============>>#1 票数:1 已采纳

这是一个简单的运算符优先级问题,您忘记了公式中的括号。 试试这个:

$calc-pos-y: calc(#{$j * 20%} + #{($i % 8) * ($i % 8)}px);

  ask by Fouvet Sébastien translate from so

未解决问题?本站智能推荐:

2回复

动态引用sass / scss变量

我正在尝试完成混合以实现以下目的。 我有一个社交按钮列表。 它们各自具有相同的样式,除了background-color和:hover状态。 我当前的SASS方法。 (将返回无效的CSS错误) 要这样渲染: 我以某种方式缺少正确的Google搜索的正确术语。 我
1回复

SASS / SCSS:从字符串/名称插入变量

是否可以通过名称获取变量? 我尝试构建以下功能,但未按预期工作... 这是一个如何使用它的示例: 当我想围绕此“变量查找”函数编写一堆特定于上下文的速记包装函数时,才有真正的威力。 任何想法如何实现这一目标?
1回复

逃避Sass中的百分比字符(SCSS)

我有一个围绕语义的问题。 我正在使用Sass中的一长串变量(它是大量的颜色样本和相应的色调)。 这些颜色必须精确,因此lighten()和darken()函数不适合这种情况。 我正在声明的变量如下所示: $black-13-percent-tint , $black-21-p
2回复

如何避免_variables.scss中的Sass变量名重复?

我有 _variables.scss,它的结构如下BEM 命名约定。 我在重复变量名$slot- 。 有没有办法做这样的事情: 它编译到上面?
3回复

SCSS / SASS中具有角度分量的全局变量

我们正在开发角度为5的云应用程序,该应用程序将在单个实例中部署,但将面向多个客户。 问题涉及主题的管理,每个客户都希望拥有自己的主题(主要是颜色)。 应用程序的架构(简化)如下所示: 当前,我们正在按客户端进行部署,因此没有问题,我们在构建之前将样式复制/粘贴到当前样式中。 每
2回复

SCSS / SASS:如何在每个循环内创建变量

在我的SASS代码中,我有一个包含所有颜色的数组,然后创建了一个each循环以从这些颜色创建css变量,最后我想做另一个循环以创建这些css颜色的每个sass变量...让我给你看 /********************************************************