【发布时间】:2020-10-26 05:42:59
【问题描述】:
当我获得自定义 CSS 属性的值时,getPropertyValue 方法返回一个 DOMString,其中包含我在 CSS formatting 中使用的空格。我应该使用其他方法来获取自定义 CSS 属性的值(之后不需要修剪的方法)吗?
function getCustomPropertyValue(element,customPropertyName)
{
let style = window.getComputedStyle(element);
return style.getPropertyValue(customPropertyName);
}
let value = getCustomPropertyValue(document.body,"--color1");
console.log(`'${value}'`);
body { --color1: #333333; }
请注意,当您运行代码 sn-p 时,getPropertyValue 函数会返回一个具有前导空格的值(这是我的 CSS 格式化的产物)。
【问题讨论】:
-
如果你像
body { --color1:#333333; }这样写你的 CSS,那么它就消失了。有点好笑。我会修剪你的返回值 -
我也注意到了这一点,并且如果
getPropertyValue确实是获取自定义 CSS 属性值的正确方法,我打算进行修剪。 -
这是一个深思熟虑的决定,允许自定义 CSS 属性将空格考虑在内。所以修剪是要走的路。我听说使用定义的语法注册属性可能会改变这一点,但我认为它还不是标准的,我自己也没有尝试过。
标签: javascript css dom custom-properties