我试图缩放(X)子div元素以适合窗口大小调整的父div。我通过除以父宽度和子宽度来计算缩放比例,并且它完美地工作。
但是对齐不合适。最初我设置了我的子div div-left 50 px from parent div。它没有按比例维持。
这是HTML / css代码
#wrap {
margin-left:50px;
width:300px;
height:300px
}
#parentDiv {
width:500px
height:300px;
}
<body>
<div id="parentDiv">
<div id="wrap">
<img id="image" width="300px" src="http://placekitten.com/640/480" />
</div>
</div>
</body>
这是在调整大小时缩放的js代码
window.onresize = function() {
scaleDiv();
};
scaleDiv = function() {
parentWidth = $('#parentDiv').width();
scale = (parentWidth) / $('#wrap').width();
new_width = $('#wrap').width() * scale;
$('#wrap').css('-webkit-transform', ' scaleX(' + scale + ')');
}
经过一些谷歌搜索,我发现我可以使用translateX
属性来保持对齐原始。但我很惊讶如何计算翻译价值。
$('#wrap').css('-webkit-transform', 'translateX(20%)' + ' scaleX(' + scale + ')');
我把随机值20%放在翻译道具上,这不合适。有人可以帮助我如何解决这个价值问题。
答案 0 :(得分:5)
您需要指定变换原点;默认情况下,它设置为50%和0%,但您可以使用transform-origin
属性覆盖它,如下所示:
#wrap {
-webkit-transform-origin:0 0;
-moz-transform-origin:0 0;
-ms-transform-origin:0 0;
transform-origin:0 0;
}