当前位置: 首页 > 知识库问答 >
问题:

为什么我的scss变量没有按预期进行分析?[副本]

郜杰
2023-03-14

这是我想要得到的输出:

代码如下:https://jsfiddle.net/t5ewp8ax/

// html
<p class="movie-category">
  <span>Sentimental</span>
  <span>Romantic</span>
  <span>Dramedy</span>
</p>
// scss
.movie-category {
  font-size: 3em;
  display: inline-flex;
  justify-content: space-between;
  background: blue;

  > span:not(:last-child) {
    $distance: 1em;
    $half-distance: $distance / 2;
    margin: 0 $distance 0 0;

    position: relative;
  }
  > span:not(:last-child)::after {
    $size: .2em;
    $half-size: $size / 2;

    content: '';
    position: absolute;
    top: calc(50% - $half-size);
    left: calc(100% + $half-distance - $half-size);

    display: block;
    width: $size;
    height: $size;
    border-radius: 50%;
    background: red;
  }
}

似乎台词:

  > span:not(:last-child) {
    $distance: 1em;
    margin: 0 $distance 0 0;
  }

被正确解析为margin:0 1em 0 。但是

  > span:not(:last-child)::after {
    left: calc(100% + $half-distance - $half-size);
  }

没有被解析为↓: calc(100%.5em-.1em);。为什么啊?我做错了什么?

顺便说一句,如果有更干净的代码可以提供,输出是非常受欢迎的


共有2个答案

归松
2023-03-14

对于伪元素使用position:absolutedisplay:block是否有特殊原因?将它们设置为position:relativedisplay:inline block应有助于使它们的定位更加灵活。

朱令
2023-03-14

那是因为我们在比赛中使用了一半的距离

左:计算(100%$一半距离-$一半大小);在::after块内不可用。sass变量应该包装在#{…}中对于像calc()这样的特殊函数,可以使用,

span:not(:last-child) {
    $distance: 1em;
    $half-distance: $distance / 2;
    ...,

   &::after {
    $size: .2em;
    $half-size: $size / 2;
    left: calc(100% + #{$half-distance - $half-size});
   }
}
 类似资料:
  • 我的编译器是和。 输出如下: 具有线程本地存储持续时间的对象的析构函数...保证被调用。

  • 这是我到目前为止用于此任务的代码: 但是如果我输入了一个无效的日期,比如,它将转换为,而不是抛出异常。

  • 我写了一个方法,通过堆栈和递归解决给定的文本编辑器迷宫,它解决了迷宫。然而,我的问题是,当给定的迷宫是不可解的,因为迷宫的墙壁,它实际上是不可能被解决的,这几乎就好像我的基本情况被跳过,没有返回假。这是代码 如您所见,有两种基本情况。一个返回真-迷宫解决了。另一个返回false -迷宫是不可解的。我的isEmpty()方法的代码如下: 它通过检查堆栈是否为空来返回false。例如,如果迷宫跑者撞上

  • 我也下载了JDK,我在每个论坛上看到这个问题,都说要添加变量JDK\u HOME或JAVA\u HOME,我两个都试过了,但仍然没有打开。 我重新安装了Android Studio并重新启动了我的计算机,但它没有打开。我得到了这样的加载图标,但它只是卡在上面。 我正在运行Windows 8.1,并且安装了最新版本的JDK。非常高兴能开始编写代码,如有任何帮助或建议,将不胜感激。

  • 问题内容: 另外,在网上可以找到许多创建静态变量的解决方案。(尽管我还没有看到我喜欢的一个。) 为什么Python不支持方法中的静态变量?这被认为是非Python的,还是与Python的语法有关? 编辑: 我专门询问了 为什么 进行设计决策,但我没有提供任何代码示例,因为我想避免解释来模拟静态变量。 问题答案: 忽略这一点的想法是,静态变量仅在以下两种情况下才有用:何时真正应该使用类以及何时真正应

  • 在活动A中,我可以查看。我在活动A中按下了一个编辑按钮,它启动活动B(并关闭A)。在代码中,我将带有意图的字符串从A传递到B,如下所示: 在活动A中,我有: 但是文本框是空的。 你能告诉我该如何把值从B传递回A吗?