我正在使用vanilla webcomponents和bundle with webpack。
在我的组件css中,我用@import声明导入全局css表,例如
@import "../../style.css";
字符串
在style.css中,我定义了变量,例如
:root {--variable: rgba(236, 236, 233, 0.0);}
型
从我的组件中,我可以访问全局style.css中的其他css声明,但似乎不能访问变量。例如,这在组件css中对我不起作用:
background-color: var(--variable);
型
当试图从js访问变量时,它似乎也不起作用。
element.style.border = "2px solid var(--variable)";
型
这是webcomponent技术/ webpack的一个限制吗?或者有没有其他的方法来访问/定义全局css变量,这样它就可以在web组件中访问了?
2条答案
按热度按时间rqdpfwrv1#
好吧..问问题,启发解决方案..橡皮鸭!
我将离开这个问题,因为我无法在其他地方找到解决方案,有人可能有同样的问题。
我没有技术上的解释(欢迎任何人详细说明),但是在全局样式表中定义用于访问webcomponents的全局变量应该在:host伪类中,而不是在:root中作为全局属性的per the documentation。
这将工作:
字符串
或者至少:它对我有效;)
t9eec4r02#
你能详细说明一下吗?
全局CSS中的CSS变量在整个DOM中都可用,包括shadowDOM
字符串