在 Sass 中使用函数会返回包含函数名称的字符串,而不是结果

问题描述 投票:0回答:2

我正在尝试 Zurb Foundation 5。

因此,我创建了一个新项目并尝试更改设置。例如,当我更改 my-project/scss/settings.scss 中的

$row-width: rem-calc(1170);
时,它会编译(在 my-project/stylesheets/app.css 中)为:

.row {
  max-width: rem-calc(1170);
}

它似乎不知道 rem-calc 函数。 如何让它正确计算rem-calc?

sass zurb-foundation compass-sass
2个回答
3
投票

您的函数不存在。 在使用它之前,您必须声明它(或从另一个文件导入它)。 Sass 不会对不存在的函数抛出错误,因为它们的语法与 CSS 函数类似。 因此它假设如果它不是 Sass 函数,那么它一定是 CSS 函数。

相关:测试是否定义了Sass函数


0
投票

我在较小的 SASS 编译器中发生过这种情况,其中该函数绝对存在,但编译器似乎没有弄清楚这一点。您可以通过将其包装在

#{}
:

中来强制编译

之前:

--btn-icon-outer: rfs-fluid-value(1.1rem);

之后:

--btn-icon-outer: #{rfs-fluid-value(1.1rem)};

我不知道为什么这是必要的;这是针对 Bootstrap RFS 的,公平地说,它比拒绝使用它的文件高出 5 或 6 个导入级别。也许我们的编译器存在深度问题。显然,这也会向您揭示该函数是否存在,因为如果不存在它就会抛出异常。

© www.soinside.com 2019 - 2024. All rights reserved.