【问题标题】:How do I get all supported CSS properties in WebKit?如何在 WebKit 中获取所有受支持的 CSS 属性?
【发布时间】:2026-01-15 09:20:03
【问题描述】:

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

>> for (k in document.body.style) console.log(k)
-> 不透明度
   背景
   高度
   文本对齐
   .
   ...长长的清单...
   .
   指针事件

在 WebKit 中结果完全不同:

>> for (k in document.body.style) console.log(k)
-> css文本
   长度
   父规则
   获取属性值
   获取属性CSS值
   移除属性
   获取属性优先级
   设置属性
   物品
   getPropertyShorthand
   isPropertyImplicit

更新:最新的WebKit does enumerate over CSS properties in HTMLElement.style 与所有浏览器一样。

【问题讨论】:

    标签: javascript css dom webkit


    【解决方案1】:

    我不确定 Javascript 访问,但您可以在此处查找所有受支持的属性(甚至是专有属性):CSS property names

    【讨论】:

    【解决方案2】:

    答案是

    >> document.defaultView.getComputedStyle(document.body, '')
    -> CSS样式声明
       0:“背景附件”
       1:“背景剪辑”
       2:“背景色”
       3:“背景图像”
       4:“背景来源”
       5:“背景位置”
       6:“背景重复”
       7:“背景尺寸”
       8:“边框底色”
       9:“边界左下角半径”
       ...

    感谢 Anton Byrna 的solution


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

    【讨论】:

    • 迭代 document.body.style 提供 Javascript 样式属性。 document.defaultView.getComputedStyle(document.body, '') 只有 CSS 属性。例如backgroundAttachmentbackground-attachment.
    • 以任何方式获取所有可能的值提示,例如“继承”、百分比、文本底部;对于他们每个人。即使使用js。
    最近更新 更多