javascript - 如何在 WebKit 中获取所有受支持的 CSS 属性?

标签 javascript css dom webkit

在 Firefox、Opera 和 IE 中,我可以通过以下方式获取它们:

>> for (k in document.body.style) console.log(k)
-> opacity
   background
   height
   textAlign
   .
   ... long list ...
   .
   pointerEvents

在 WebKit 中,结果完全不同:

>> for (k in document.body.style) console.log(k)
-> cssText
   length
   parentRule
   getPropertyValue
   getPropertyCSSValue
   removeProperty
   getPropertyPriority
   setProperty
   item
   getPropertyShorthand
   isPropertyImplicit

更新:最新WebKit does enumerate over CSS properties in HTMLElement.style所有浏览器都采用相同的方式。

最佳答案

答案是

>> document.defaultView.getComputedStyle(document.body, '')
-> CSSStyleDeclaration
   0: "background-attachment"
   1: "background-clip"
   2: "background-color"
   3: "background-image"
   4: "background-origin"
   5: "background-position"
   6: "background-repeat"
   7: "background-size"
   8: "border-bottom-color"
   9: "border-bottom-left-radius"
   ...

感谢 Anton Byrna 的 solution .


仍然存在一个问题:getComputedStyle() 不返回像 backgroundborder 这样的快捷方式。

关于javascript - 如何在 WebKit 中获取所有受支持的 CSS 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614963/

相关文章:

javascript - Vue.js - 应该使用哪个组件生命周期来获取数据?

javascript - 如何在 firefox 插件 sdk 1.10 main.js 中使用 nsIParserUtils?

javascript - 为什么 AWS Lambda Node.js 示例包含带有 "S:"和 "N:"等键的 javascript 对象?

javascript - 用于查找 Jquery 的 CPU 和内存使用情况的工具/插件

html - 是否可以从开发者在CSS中使用 `text-decoration: underline;`创建下划线时更改为下划线高度?

html - 单击另一个 div 时如何为 div 设置动画以及如何使动画 div 移动其他元素

html - 为什么 col-xs-0 占据了 100% 的行宽?

javascript - 如何使用 event.target 访问特定子项及其文本?

javascript - JS根据子元素对父元素进行排序

javascript - 我可以通过 props.children React JS 将 props 传递给 children 吗