区分getComputedStyle返回的已使用值和计算值

时间:2015-03-18 13:32:57

标签: javascript css

getComputedStyle州的MDN文档

  

getComputedStyle返回的值称为已解析值。   这些通常与CSS 2.1计算值相同,但是   一些较旧的属性,如宽度,高度或填充,它们是相反的   使用过的值。

有没有办法只获得计算值而没有使用 的值?

我的用例是:

以身体元素为例。浏览器宽度目前为600px。如果您在getComputedStyle元素上调用body,则返回的样式将包含width: 600px

调整浏览器的大小,宽度会再次不同,尽管"正确"值应该是auto

我需要返回的样式是幂等的,这意味着我可以在不将某些值(如width)更改为固定值的情况下将样式设置回元素。

1 个答案:

答案 0 :(得分:1)

对于给定的元素和样式属性,您需要第一个:

  1. 已明确应用于元素的值(通过style属性或CSS)
  2. 该属性的浏览器默认值
  3. 由于CSS规范does not provide a way to access the browser's default CSS rules

    ,您无法可靠地执行此操作