如何将scss变量设置为css变量使用javascript

Posted

技术标签:

【中文标题】如何将scss变量设置为css变量使用javascript【英文标题】:How to set scss variable to css variable use javascript 【发布时间】:2021-11-20 02:56:13 【问题描述】:

我想在 vue 的一个方法中将 scss 变量设置为 css 变量。

$color: #000;
--varColor: #$color

我想通过道具动态设置,但它不起作用。有谁知道如何做到这一点?谢谢

'--backgroundColor': `#$props.backgroundColor`,

【问题讨论】:

【参考方案1】:

我认为你做不到。 SCSS 是一个CSS 预处理器,这里强调pre。因此,当您的代码执行时,SCSS 将不再存在,而是编译为 CSS

但是您可以使用 javascript methods 像 style.setProperty 一样操作 CSS

【讨论】:

感谢 Gh05d,因为在这种情况下,只需使用 scss 变量 ($color) 传递给子组件。当 setProperty css 变量等于 scss 变量时不起作用。

以上是关于如何将scss变量设置为css变量使用javascript的主要内容,如果未能解决你的问题,请参考以下文章

如何访问具有多个属性的 SCSS 变量

通过 CSS 模块将 SCSS 变量导出到 JavaScript/Svelte,而不会发出 lint 警告

:root CSS 变量未设置为元素样式

将 SASS/SCSS 变量导出到 Javascript,而不将它们导出到 CSS

在 Nuxt 颜色模式下使用 SCSS 变量

如何避免 SASS 变量的多个 @imports?