我正在用Dojo学习动画。我试着给一个div动画。我创建了两个div的上、下div。当我为上div创建动画对象时,下div移动到上div空间并相互重叠。如何防止下div移动到上div位置,而动画上div。
我想要解决的密码就在这里。
jsfiddleDOTnet/26rhq_cJ/26rhq/
发布于 2014-01-06 07:41:48
问题是,为了使DOM节点可以像动画中那样移动,他们给它提供了以下内联CSS:position: absolute
。因此,它将从正常流中“移除”,因此您的第二个div将不知道第一个div,因此它们将重叠。
要解决这个问题,您应该将您的#box1
封装在一个具有position: relative
的容器-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
of #box1
转换为100%
。因为它相对于容器,所以100%
等于300px
。
我还更新了你的JSFiddle。
https://stackoverflow.com/questions/20952718
复制相似问题