从中心缩放后将元素保持在原始位置

Har*_*rdy 4 html javascript css jquery css3

所以我想知道如何计算translate从中心(css:)缩放的元素的CSS属性值transform-origin: 50% 50% 0

这是我的HTML和CSS(FIDDLEhttp : //jsfiddle.net/rPNyM/

HTML:

<div id="holder">
    <div id="dot"></div>  
  <div id="box"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#holder {
    position: absolute;
    width: 500px;
    height: 500px;
    background: #226699;

}

#dot {
  position: absolute;
  left: 100px;
  top: 100px;
  width: 5px;
  height: 5px;
  background: #ff0000;
  z-index: 20;  
}

#box {
   position: absolute;
   left: 100px;
   top: 100px;
   width: 100px;
   height: 100px; 
   background: #000; 
   transform: translate(-25px, -25px) scale(0.2,0.2);
   transform-origin: 50% 50% 0;      
   -moz-transform: translate(-25px, -25px) scale(0.2,0.2);
   -moz-transform-origin: 50% 50% 0;     
}
Run Code Online (Sandbox Code Playgroud)

即使缩放比例值更改,黑框也应与红框位于相同的位置(左上角)。

Har*_*rdy 5

靠我自己找到答案(测试了一些计算)。

只是这样计算(JavaScript):

var pad_x = ((elem_width * scale) - elem_width) / 2;
var pad_y = ((elem_height * scale) - elem_height) / 2;
Run Code Online (Sandbox Code Playgroud)