后台位置的计算样式在Chrome中返回0%0%
Computed style of background-position returns 0% 0% in Chrome
假设我有一个element
,我想看看它的background-position
:
我这样做:
window.getComputedStyle(element).getPropertyValue('background-position')
如果没有为该element
定义属性背景位置,我得到:
0% 0%
然而,如果我决定将background-position
设置为0% 0%
,我将获得相同的值。
我如何区分这两种情况?我如何才能知道该属性是实际定义的?
编辑:
其他人建议只使用style.getPropertyValue('background-position')
,但这只会考虑INLINE值。我还想考虑是否在外部CSS文件中设置了该值。http://dev.w3.org/csswg/cssom/#elementcssinlinestyle
计算值是正确的,因为0% 0%
是background-position
的初始值。(CSS属性总是有一个值——即使只有一个初始值——所以永远不会真正"未定义"。)
getComputedStyle
不能告诉你区别,但可以选择假设,例如,背景图像none
的背景位置0% 0%
可能代表初始值。
要跟踪样式的来源,请尝试非标准的getMatchedCSSRules()
(参见window.getComputedStyle():如何放弃具有默认值的属性?)。
Imho,这两种情况之间的唯一区别是在任何浏览器端css解析之前。这意味着您必须调查css字符串,以确定它是否已设置。搜索"background"answers"backgroundposition"作为子字符串,然后找出是否有0或0%的
相关文章:
- getBoundingClientRect在Chrome中返回相同的值
- chrome.storage.sync.get未返回值-Angular服务
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- 为什么像 Firefox 和 Chrome 控制台中的 '}{' 这样的结构会返回 'undefined'?
- 在 iOS Chrome 中返回页面时恢复表单值
- 可以't在Chrome扩展上返回所选文本
- phantomjs和chrome在调用canvas.toDataURL时返回不同的数据
- window.open在chrome扩展中返回undefined
- 当JS在Chrome控制台上正常工作时,Selenium JavaScript执行器返回null
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好
- Chrome返回未定义的cancelFullScreen和网络工具包cancelFullScreen
- chrome.tabs.onUpdated返回了一个没有'不存在
- jQuery ajax POST在chrome中返回错误
- 后台位置的计算样式在Chrome中返回0%0%
- getPropertyValue('font-size') 为 Firefox 和 chrome 返回不
- Chrome 返回按钮会意外终止上传流
- Chrome 返回“语法错误:意外令牌”
- Jquery和Chrome返回一个iframe错误
- Javascript在Chrome返回null, HTML元素在源