【问题标题】:How to use properly Var() and cal() in Ionic 5 with Sass如何在 Ionic 5 和 Sass 中正确使用 Var() 和 cal()
【发布时间】:2020-03-05 23:59:57
【问题描述】:

我在结合使用 var 和 calc 函数时遇到问题。 这是我的场景

--variable-1 : 10px;
--variable-2 : 20px;
--variable-3 : calc(var(--variable-1) + var(--variable-2));
.some-class {
  width: var(--variable-3); // does not work
}

有人可以解释为什么这不起作用吗?

在一些建议使用 $ 声明变量的答案之后,我更想了解变量如何工作。以及为什么有两种定义变量的方法。

$some-variable 和 --some-variable 有什么区别?

【问题讨论】:

  • 您的代码运行良好:jsfiddle.net/85fby1ju
  • 我发现了问题。 --variables 或所谓的 CSS 自定义属性需要在同一范围内使用。我的代码不起作用的原因是 --variable-3 没有在与其他两个相同的范围内定义。感谢您的帮助!

标签: css ionic-framework sass ionic4


【解决方案1】:

这样试试

$a: 4em;
$b: 4em;

div {
  height: $a + $b;
  background: red;
}

【讨论】:

  • 我还根据您的新代码更新了我的代码...试试这个
【解决方案2】:

在 calc 函数中使用变量时需要对变量进行插值。你可以这样做。

这是我修改了你的代码的例子,你可以看看。

$variable-1 : 12em;
$variable-2 : 4em;

.some-class {
  width: calc(#{$variable-1} + #{$variable-2});
  background-color: red;
  height: 100px;
}
<div class="some-class"></div>

【讨论】:

  • 哦,好吧,但看看我在编辑器中尝试过的代码,它的工作很抱歉最近编辑代码
  • 你的代码有效!但我在问为什么它不能与 --variables 一起使用。我知道它适用于基于 $ 的变量
  • 您的代码也可以工作,但不是将 calc 函数存储在另一个变量中,而是在 width 属性本身中声明它并且可以工作!
  • 这里是您将了解区别的链接https://blog.netcetera.com/the-difference-between-sass-less-variables-and-css-custom-properties-36d36f7584e3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-18
  • 2015-09-06
  • 1970-01-01
  • 2017-09-11
相关资源
最近更新 更多