说我有一个element
,我希望看到background-position
:
我这样做:
window.getComputedStyle(element).getPropertyValue('background-position')
如果没有为element
定义属性background-position,我会得到:
0% 0%
但是,如果我决定将background-position
设置为0% 0%
,我会获得相同的值。
如何区分这两种情况?我怎么知道属性实际定义了?
编辑:
其他人建议只使用style.getPropertyValue('background-position')
,但这只会考虑INLINE值。如果已在外部CSS文件中设置了值,我还要考虑。 http://dev.w3.org/csswg/cssom/#elementcssinlinestyle
答案 0 :(得分:2)
自0% 0%
is the initial value for background-position
起计算出的值是正确的。 (CSS属性总是有一个值 - 即使只是一个初始值 - 所以从来没有真正"未定义"。)
getComputedStyle
无法告诉您差异,但可能会选择假设,例如背景图像0% 0%
的背景位置none
可能代表初始值。
要追踪样式的来源,请尝试使用非标准getMatchedCSSRules()
(参见window.getComputedStyle(): How to Discard properties with default values?)。
答案 1 :(得分:0)