我使用最新的SASS / Compass版本来开发CSS。我已经在“media = all”样式表的开头声明了一些SASS变量,如下所示:
$var1: red;
$var2: blue;
$var3: black;
$var4: green;
稍后在这个SCSS文件中我导入了一个打印样式表(@import'print.scss';),如下所示:
@media print {
$var1: black;
$var2: black;
$var4:black;
}
我认为,如果浏览器处于“打印模式”,则打印样式表中的变量会覆盖“正常”变量仅。但变量确实会覆盖始终之前声明的“正常”变量。
我有点困惑,感谢任何帮助。
谢谢!
答案 0 :(得分:2)
根据this个问题,您目前的表格基本上不可能。如果您想实现这一目标,则必须导入使用$varX
的每种样式,例如:
$blue: blue;
.test{
color: $blue;
}
@media print {
$blue: pink;
.test{
color: $blue;
}
}
输出:
.test{color:blue}@media print{.test{color:pink}}
这不是理想的解决方案(你会得到很多重复的代码),但不幸的是,由于CSS的工作方式,你可以做到这一切。
这可能是一个更好的解决方案:
$blue: blue;
$print_blue: pink;
.test{
color: $blue;
text-align: right;
@media print {
color: $print_blue;
}
}
输出:
.test{color:blue;text-align:right}@media print{.test{color:pink}}