【发布时间】:2017-07-23 16:55:49
【问题描述】:
当在另一个 div 中使用绝对位置时,是否有任何解决方案可以阻止没有预定义高度的元素向上移动?
这是定义高度后的样子。
.relative {
position: relative;
width: 600px;
height: 400px;
background:green;
}
.absolute {
position: absolute;
top: 120px;
right: 0;
width: 400px;
height: 200px;
background:blue;
}
.test { position:relative;
width: 600px;
height:200px;
float:left;
clear:both;
background:pink;
}
.clear { clear:both;}
HTML
<div class="relative">
<div class="absolute">
</div>
</div>
<div class="clear"></div>
<div class="test">
</div>
但是当移除高度时,它看起来像这样:
http://jsfiddle.net/77tsq/1/ - 没有高度
【问题讨论】:
-
相对定位的东西会避免与任何东西发生冲突。你的测试 div 有一个相对位置,所以它总是会尽量避免一些东西......绝对位置会随心所欲。我的问题是......你想用这些 div 做什么?
-
我也相信这可能是重复的:stackoverflow.com/questions/18752479/…
-
好吧,我的朋友,我一直在尝试让一个粘性菜单工作,它会在滚动时发生变化......事情变得一团糟。因此,我尝试在没有 javascript 等的情况下重新创建所有内容。只是普通的 div,似乎元素会发生变化..即使我使用固定的东西搞砸了。我认为两者下方的 div 仍会在下方浮动,但会向上移动
-
定位,更具体地说是绝对定位,是非常零星的.. 未定义,无论如何都可以去/喜欢的地方。如果可以的话,我建议漂浮。
-
问题是第一个div里面什么都没有。好吧,只有一个绝对定位的 div,但这不算数。所以,如果你没有明确地给第一个 div 一个高度,那么高度为零。就是这样。
标签: html css css-position