Css 可以在导入的文件上重新定义_partial.scs中的变量吗?

Css 可以在导入的文件上重新定义_partial.scs中的变量吗?,css,sass,zurb-foundation,Css,Sass,Zurb Foundation,假设我有2个部分sass文件: _partial1.scss _partial2.scss 两者都导入到: app.scss 如果我定义一个变量 $mainColor: red //on partial1. $mainColor: green //on partial2 and $mainColor: blue //on app.scss 如果我设置了_partial2.scss文件 body { background: $mainColor; } 我的html背景

假设我有2个部分sass文件:

_partial1.scss  
_partial2.scss  
两者都导入到: app.scss

如果我定义一个变量

$mainColor: red //on partial1.  
$mainColor: green //on partial2 and   
$mainColor: blue //on app.scss
如果我设置了_partial2.scss文件

body {
   background: $mainColor;
}
我的html背景颜色将为绿色…
但是我需要能够在以后的app.scss中重新定义它,所以。。。 有办法吗?

我问这个是因为我在使用基础,我有一个子项目,我需要能够改变字体和颜色,而不需要改变设置。
你可以找到我的,但是我认为这里的答案对其他人也是有用的,不一定使用基金会。p> 您可以在任意点重新定义变量。例如:

app.scss

$mainColor: blue;

#container {
  background: $mainColor; //blue
}

$mainColor: red;

#alert {
  background: $mainColor; //red
}

这是一个。

我知道。我的问题是关于部分导入变量的范围。不确定你的意思是什么。你能用另一种方式解释吗?我认为这个问题的例子解释得很好。。。我需要重写在导入的部分文件上声明的变量。如果我们按照你做的例子。。。假设
\u bluePartial.scss
包含变量及其
\container
样式,并导入到最终的
app.scss
文件中。如何在不复制粘贴样式的情况下使容器变为红色。仅通过重写变量
$mainColor:red?只要在定义
#容器
的样式之前覆盖
$mainColor
,一切都会正常工作。但是不能使用
背景:$mainColor
,然后稍后重新定义
$mainColor
,以更改
#容器的颜色。毕竟,
.scss
文件被编译成普通的
.css
。为了覆盖
#容器
背景
样式(在
\u bluePartial.scss
中定义),不幸的是,您需要在
app.scss
中重新定义
容器
背景
属性。