我有包含
的main.scss文件(在CSS分页媒体的上下文中)$margin-left 2cm;
@page {
size: a4;
margin-left: $margin-left;
}
@import "_toc";
....
和包含
的_toc.scss$margin-left 4cm;
@page toc {
margin-left: $margin-left;
}
所有页面的默认页边距应为2厘米,但在特定页面上(目录)我需要4厘米
在_toc.scss中重新分配$ margin-left会修改全局变量的值。
是否有一些机制可以在本地覆盖全局变量(仅在_toc.scss文件中),而不是使用特定于_toc.scss的专用变量?
答案 0 :(得分:0)
为什么不使用相同的变量值并将其称为
margin-left: $margin-left + 2;
,它会在不更改变量值的情况下提供您想要的相同结果。如果您仍想更改值,可以在@page toc
内定义新值,这不会改变全局值
答案 1 :(得分:0)
尝试将覆盖变量放在选择器块中:
@page toc {
$margin-left: 4cm;
margin-left: $margin-left;
}
演示:http://www.sassmeister.com/gist/456110c2fa766d4250ecbb9d840cf38f