Javascript 不同的解释窗口。getComputedStyle(myElement)['right']

Javascript 不同的解释窗口。getComputedStyle(myElement)['right'],javascript,html,css,Javascript,Html,Css,我对window.getComputedStyle方法的不同浏览器解释有问题 这是我的HTML: 而JS: 问题在于“right”变量因浏览器而异。这是因为“权利”属性没有声明 在Firefox上,它给了我一个带“px”后缀的整数,这就是我想要的, 在Chrome和IE11上,它让我自动 在chrome和IE中,有没有一种方法可以调用来获取后缀为“px”的整数?我知道我可以绕过它,从中得到窗口宽度和减左属性以及元素宽度,但它看起来并不优雅 哦,我只需要使用vanilla js。我认为没有一种好方

我对window.getComputedStyle方法的不同浏览器解释有问题

这是我的HTML:

而JS:

问题在于“right”变量因浏览器而异。这是因为“权利”属性没有声明

在Firefox上,它给了我一个带“px”后缀的整数,这就是我想要的, 在Chrome和IE11上,它让我自动 在chrome和IE中,有没有一种方法可以调用来获取后缀为“px”的整数?我知道我可以绕过它,从中得到窗口宽度和减左属性以及元素宽度,但它看起来并不优雅


哦,我只需要使用vanilla js。

我认为没有一种好方法可以像您描述的那样从元素对象获得统一的正确属性。实际上,解决方法是获取元素的边界框和减法,如:请参阅,以了解实现差异的解释。但对于元素的像素宽度(包括填充),请使用clientWidth或将边框包含在count offsetWidth中;即使宽度不是在CSS中设置的,而是由默认值或HTML属性确定的,它们也可以工作。
<div id="myElement">Element content</div>
#myElement{
  position:fixed;
  left: 20px;
  top: 0;
}
var myElement = document.getElementById('myElement'),
right = window.getComputedStyle(myElement)['right'];