【发布时间】:2020-10-29 08:28:02
【问题描述】:
我在想如何在不使用内联样式的情况下使用 css 变量。我认为我可以使用这个:
[data-color] {
--color: attr(data-color color, green);
}
* {
color: var(--color, blue);
}
<div data-color="red">hello</div>
似乎 attr 仅适用于伪选择器(并且可能仅适用于 content: 属性),但 MDN attr page 说:
attr() CSS 函数用于检索所选元素的属性值并在样式表中使用它。它也可以用于伪元素,在这种情况下,返回伪元素的原始元素的属性值。
甚至还有演示,但它在 Linux 上的 Chrome 中不起作用,所以它对我没用。它甚至无法在 Linux 上的 Firefox 中运行。
有没有其他方法可以使用没有内联样式且无需编写动态<style></style> 和nonce 的css 变量?
【问题讨论】:
标签: css content-security-policy css-variables