我有以下标记:
<div id="playArea" style="position: relative;">
<div style="position: absolute; left: 295px; top: -1px; width: 313px; height: 269px;">Hello</div>
<div style="position: absolute; left: 63px; top: 35px; width: 80px; height: 42px;">World</div>
<div style="position: absolute; left: 534px; top: 329px; width: 183px; height: 251px;">Bye</div>
</div>
但是我希望在“playArea”div下有一段文本,但是因为playArea中的所有div都是绝对的,所以文本不会出现在最后一个绝对定位的div的底部。
我已经研究过这个问题,并找到了一个替代方法,使用float:left和clear:left,但是在第一个div上使用这个方法后,你不能正确地定位div,因为第二个div的起点在第一个div下面,而不是在(0,0)。
谢啦,谢啦
4条答案
按热度按时间f0ofjuux1#
如果我没理解错的话,您只需要给予“playArea”div一个正确的高度。
编辑:我的意思是,里面所有东西的总高度。
3pmvbmvn2#
因为您似乎已经知道所有的维度和位置,所以只需向其添加另一个绝对定位的div,并将相对内容放入其中。
你需要删除
position: absolute
来得到正确的浮点数。仅仅宽度和高度就足够了。nc1teljy3#
将三个内部div向左浮动,将
overflow: hidden;
放在playArea div上,并将<p>
放在三个内部div下,clear: both;
y3bcpkx14#
在阅读了你和BalusC之间的评论之后,你似乎已经修改了你的CSS,现在尝试浮动你的项目,并使用margin-top和margin-left来定位。你完全可以这样做,但你忘记了你也可以使用负边距来定位你的元素。例如,如果你使用**margin-top:-10px;**那么它会把元素拉高(而不是像正常的正值保证金那样把它拉低)。其他所有保证金也是如此。
这似乎是你现在缺少的成分。