Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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缩放:获取继承的值_Javascript_Css - Fatal编程技术网

Javascript CSS缩放:获取继承的值

Javascript CSS缩放:获取继承的值,javascript,css,Javascript,Css,我有一个css缩放值为0.5的父元素 我有一个与之交互的子元素。除非我将子元素传递给父缩放级别,否则我似乎无法确定继承的子元素缩放级别是什么 我想offsetWidth和clientWidth可能会有所不同,这样我就可以知道使用它们的缩放级别,甚至是scrollWidth,但似乎没有什么变化;这可能是件好事。但是,我仍然需要弄清楚孩子的缩放级别是多少 没有办法做到这一点吗?我是否只需要跟踪父级缩放级别?(我知道有人会说,…“这有什么困难?”。所以让我回答,并说这是一个插件,所以我不想知道或必须关

我有一个css缩放值为0.5的父元素

我有一个与之交互的子元素。除非我将子元素传递给父缩放级别,否则我似乎无法确定继承的子元素缩放级别是什么

我想offsetWidth和clientWidth可能会有所不同,这样我就可以知道使用它们的缩放级别,甚至是scrollWidth,但似乎没有什么变化;这可能是件好事。但是,我仍然需要弄清楚孩子的缩放级别是多少

没有办法做到这一点吗?我是否只需要跟踪父级缩放级别?(我知道有人会说,…“这有什么困难?”。所以让我回答,并说这是一个插件,所以我不想知道或必须关心的家长)

$(“#结果”).text(
$('#child').width()
+ ' - '
+$('#child')[0]。偏移宽度
+ ' - '
+$('#child')[0].clientWidth
+ ' - '
+$('#child')[0]。滚动宽度
+ ' - '
+$('#child')[0]。宽度
+ ' - '
+$('child').css('zoom'))
+ ' - '
+stringify(window.getComputedStyle($('#child')[0]))
);
#母公司{
变焦:0.5;
}
#孩子{
宽度:50px;
高度:50px;
背景:蓝色;
显示:内联块;
}

只要不重置,子对象的缩放级别在父对象内为1,即0.5或其他任何值。如果您希望父对象的大小为父对象的一半,但子对象的大小未在视觉上调整,请将其重新缩放为2。不确定我是否遵循此操作,我不想重新缩放任何内容。我只想从子对象确定父对象的缩放级别。那么,在孩子的touchstart上,孩子继承的缩放值是多少?子对象的当前缩放级别为1.0。继承的值应为0.5。如果你在开发者工具中检查它,它将显示继承的值0.5,但没有办法将其取出来。只有设置了此值的父级可以将其返回给你,inspector只告诉你它根据最近的父级缩放了多少。实际上,我不知道你如何从css中检索这些值。transform返回一个矩阵值,一次计算它们:transform:scale(x,x)rotate(xdeg);将返回一个矩阵值。哦,子对象将没有css转换集:)它没有转换,duh。真倒霉看起来我只需要在某个地方为父对象引用缩放级别。
$('#result').text(
      $('#child').width()
    + ' - '
    + $('#child')[0].offsetWidth
    + ' - '
    + $('#child')[0].clientWidth
    + ' - '
    + $('#child')[0].scrollWidth
    + ' - '
    + $('#child')[0].width
    + ' - '
    + $('#child').css('zoom')
    + ' - '
    + JSON.stringify(window.getComputedStyle($('#child')[0]))
);

<div id="parent">
    <div id="child"></div>
</div>

<div id="result"></div>

#parent{
    zoom:0.5;
}

#child{
    width:50px;
    height:50px;
    background:blue;
    display:inline-block;
}