我正在使用Dojo Toolkit学习动画。我想动画一个div。我创建了两个div的上下div。当我为上部div创建动画对象时,下部div移动到上部div空间并相互重叠。我如何在动画上部div时阻止下部div移动到上部div。
我想解决的代码就在这里。
jsfiddleDOTnet / Mostwanted_cJ / 26rhq /
答案 0 :(得分:0)
问题在于,为了使DOM节点像动画一样可移动,它们会为它提供以下内联CSS:position: absolute
。因此,它将从正常流程中“移除”,因此您的第二个div将不会知道第一个div,因此它们将重叠。
要解决此问题,您应将#box1
包装在具有position: relative
的container-div中。您的#box2
会知道容器,#box1
相对于您的容器。完整的HTML将是:
<div class="container">
<div id='box1'></div>
</div>
<div id='box2'></div>
CSS将是:
#box1 {
width: 300px;
height: 100%;
background-color: #FF0000;
}
#box2 {
width: 300px;
height: 300px;
background-color: #686868;
}
.container {
position: relative;
height: 300px;
}
正如您所看到的,我也略微改变了height
。您需要为容器指定一个高度,以便正确定位#box2
。现在,因为您为容器添加了height
,所以您可以将height
的{{1}}更改为#box1
。因为它与容器相对,100%
等于100%
。
我还更新了您的JSFiddle。