是否可以将css变量保存到scss变量中?
我更喜欢使用scss变量,但它们不能在“运行时”更改。例如,如果我有一个scss变量$color:#000;我想这样改变它的值,那么它就不起作用了:是否可以将css变量保存到scss变量中?,css,sass,Css,Sass,我更喜欢使用scss变量,但它们不能在“运行时”更改。例如,如果我有一个scss变量$color:#000;我想这样改变它的值,那么它就不起作用了: html{ background-color: $color; &.orange{ $color: orange; } } 另一方面,当我使用css变量时,它将: :root{ --color: #000; } html{ background-color: var(--color); &.oran
html{
background-color: $color;
&.orange{
$color: orange;
}
}
另一方面,当我使用css变量时,它将:
:root{
--color: #000;
}
html{
background-color: var(--color);
&.orange{
--color: orange;
}
}
我知道为什么我一个人不能解决这个问题。所以我的问题是:是否有可能以某种方式将css变量存储在scss变量中
我已经尝试过的:
:root{
--color: #000;
}
$color: var(--color);
$color: ${'var(--color)'};
$color: "var(--color)";
你知道如何在没有自定义函数的情况下解决这个问题吗?因此与@Pete合作 您可以将css变量存储在scss variable中:
:root{
--color: #000;
}
$color: unquote('var(--color)');
html{
background-color: $color;
}
我想为我的页面设置主题,从我的观点来看,最简单的解决方案是更改我的主要变量的值。但只有css变量更改可以重新设计颜色运行时。这应该可以工作:
$color:'var(--color)'
然后您可以像这样使用它:.color{color:$color;}
。对于橙色覆盖,您不能使用sass变量,您可以将其作为正常覆盖:&.orange{--color:orange;}
}Hi@Pete!在live页面上的结果是:背景色:“var(--color)”,所以我用unquote=>$color:unquote('var(--color'))修改了您的代码代码>现在它可以工作了。谢谢你能写一个关于这个的总结作为回答吗?:)没关系,因为你必须做额外的事情,你应该回答你自己的问题,你为什么要这样做?有什么好处?您可以在SCS中需要动态值的任何位置使用var(--color)
,而不是$color。