Css 可以在导入的文件上重新定义_partial.scs中的变量吗?
假设我有2个部分sass文件: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背景
_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
中重新定义容器
的背景
属性。