Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取元素的完整css(类、内联、@import、@media)_Javascript_Css - Fatal编程技术网

Javascript 如何获取元素的完整css(类、内联、@import、@media)

Javascript 如何获取元素的完整css(类、内联、@import、@media),javascript,css,Javascript,Css,我想使用CSS样式,所以我得到了关于这个HTML的必要信息 根据这一准则 if(window.getComputedStyle){ style=window.getComputedStyle(dom,null); for(变量i=0,l=style.length;i

我想使用CSS样式,所以我得到了关于这个HTML的必要信息


根据这一准则

if(window.getComputedStyle){
style=window.getComputedStyle(dom,null);
for(变量i=0,l=style.length;i
到目前为止,我只使用“px”,所以一切正常。 现在我试着和其他单位合作,但我遇到了麻烦

我从computedStyle接收到的是重新计算“px”的绝对值,而不是
5px、4em、3%、2%

“页边距内联开始”:“21.3667px”
“左边距”:“21.3667px”
“右边距”:“48px”​
“页边距顶部”:“5px”
为什么会这样?我怎样才能防止呢?我想使用内嵌CSS中定义的单元类型

重新计算这将不起作用,因为我在computedStyle中看不到任何原始类型不是“px”的信息

非常感谢您帮助理解和解决这个问题

更新


我四处寻找,以找到一种方法来获取元素的所有匹配规则(css类、内联样式、@import和@media)。但是我发现和读到的都是半途而废的东西,或者说已经过时了,现在已经行不通了)…我现在很沮丧,

这就是
getComputedStyle
的意思,计算出的样式值!如果您希望使用给定的样式,请使用,例如,
element.style.marginLeft
您的意思是HTMLElement.style?但是不是jquery.css()-如果我是对的,那应该是computedStyle吗?HtmleElement.style似乎只适用于内联css,我如何处理所有样式,并在我的示例中获得正确的单位“em”,而不是“Calculate pixel”?我以为您只需要属性中的样式;很抱歉这些答案有帮助吗?或者这里提到的任何相关问题?我想这可能是一种方式,但我不明白我应该如何使用此代码!?