【发布时间】:2016-02-02 19:24:20
【问题描述】:
我找不到任何重复的,所以这里......
<div style="height: 200px; width: 200px; background-color:#ff0000"></div>
<div id="base" style="height: 30px; width: 30px; background-color:#00ff00">
<div id="popup">
<div>
<div class="in-pop"></div>
<div class="in-pop"></div>
<div class="in-pop"></div>
<div class="in-pop"></div></div>
</div>
</div>
.in-pop{
background-color:#ffff00;
width: 20px;
height: 20px;
border: 1px solid #000;
float: left;
}
#base{
position:relative;
}
#popup{
background-color:#0000ff;
position:absolute;
bottom: 30px;
}
我的内容底部有一个 div(绿色)。我需要一个弹出窗口(用于悬停)放置在该绿色 div 的顶部。弹出窗口在小提琴中是蓝色的。然后在那个弹出窗口中,我有一个未知数量的 div 是 float:left。我的问题是它们垂直堆叠而不是水平堆叠,我无法在蓝色 div 上定义宽度,因为它会发生变化。这似乎是因为绿色 div 的“相对”而发生的,但是如果我不使用它,我就无法将蓝色 div 正确定位在它上面。
我可以使用 position: fixed 和negative top margin,但是负边距是相当严重的。不过,也许这是我唯一的选择。
有什么想法吗?
【问题讨论】:
-
您的主要问题是您的
#popup元素在您的绿色 div 内。因此它的宽度停留在 30px(它的父级的 100%)。
标签: html css css-position