【发布时间】:2012-06-13 19:12:28
【问题描述】:
我正在寻找页面上所有 DOM 元素的使用 css 值。当我说“使用的值”时,我指的是the W3C specification 中指定的定义:
6.1.3 使用值
在不格式化文档的情况下尽可能处理计算值。但是,某些值只能在文档布局时确定。例如,如果将元素的宽度设置为其包含块的一定百分比,则在确定包含块的宽度之前无法确定宽度。 使用的值是取计算值并将任何剩余的依赖项解析为绝对值的结果。
这些应该是根据实际页面布局计算的最终值。 Mozilla's docs 声称您可以使用 window.getComputedStyle 来获取使用的值,但这对我来说没有意义,因为计算的值与使用的值不同(我想要使用的值)。即使这些是使用的值,我也不确定这是否仅适用于 Firefox。有没有办法在所有浏览器中可靠地获取使用的值?
【问题讨论】:
-
使用的值是您可以使用jquery css 函数获取的值。所以假设你有属性的名字,你只需要遍历所有的 DOM 对象。
-
“这对我来说没有意义,因为计算的值与使用的值不同(我想要使用的值)” 怎么回事?你能举个例子说明你不会从
getComputedStyle(和IE 几乎等同的currentStyle)得到你想要的东西吗? -
该函数名称中的“computed”表示“根据 CSS 规则和 DOM 的当前状态计算”。
-
另外,事实上,除非你想承担一个非常复杂的项目,否则这些 API 就是你所拥有的。
标签: javascript html css dom w3c