window.getCompulatedStyle 始终返回以像素为单位的测量值

Pri*_*Nom 8 javascript methods window object

例如,我只是想知道为什么总是以像素为单位返回测量值,即使在位置明确设置为so 的window.getComputedStyle(element).top情况下也是如此。top%element.style.top = 25 + '%'

我在网上找不到任何信息。有谁知道为什么会这样吗?!

Boj*_*hev 8

您要找的是element.style.top.


这就是 的预期行为window.getComputedStyle。

“window.getComputedStyle()在应用活动样式表并解析这些值可能包含的任何基本计算之后,该方法返回一个包含元素所有 CSS 属性值的对象。”

这意味着除像素之外的所有单位都将被计算或处理,然后呈现为像素。甚至 GetCompatedStyle 这个名字也暗示了这一点。

如果您愿意,您可以在这里阅读更多相关内容。

  • 不完全正确:如果您以百分比形式提供“border-radius”,那么“window.getCompulatedStyle()”也会以百分比形式返回它,而不是以像素形式。 (4认同)