【发布时间】:2016-10-02 19:53:59
【问题描述】:
我有一个 relative 定位的父级,其中 absolute 定位的图像具有 width:100% 。
我使用 jquery 将父级的初始高度设置为等于图像纵横比。问题是页面中的另一个动画缩小了 div。 在收缩过程中我想让父母适合孩子的形象。
如何在动画过程中保持父级的纵横比? (也许像窗口调整大小监听器之类的东西?)请注意,这个收缩是一个示例动画。我有一个复杂的真实动画,所以我一直在寻找一个通用的解决方案,而不是这个示例目标 200px 宽度。
$(document).ready(function(){
var width=$("#wrapper").width();
$("#wrapper").height(width*0.33);
$("#shrink").click(function(){
$("#wrapper").animate({"width":"200px"},3000)
})
})
#wrapper{
position:relative;
top:0;
left:0;
width:100%;
border:1px solid #444444;
}
.child{
position:absolute;
top:0;
left:0;
width:100%;
}
#shrink{cursor:pointer}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="shrink">Click here to shrink</a>
<br><br>
<div id="wrapper">
<img class="child" src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png">
</div>
【问题讨论】: