我在 html 中有一个列表,其中包含列表项,并且垂直滚动条已启用溢出。列表项的其中一个子项是停在列表项右上角的图像。当鼠标悬停在它上面时,我想显示一个浮出控件,它也是列表项中的一个子项。问题是浮出控件被切碎但我希望它浮动并在鼠标悬停时显示在滚动条上。甚至可能吗?我试图避免将图像和弹出框放置在列表项之外,因为这意味着我们每次滚动时都必须计算它的位置并将其当前放置在列表项中。此外,它是一个已经启动并运行的复杂网页,所以我不想过多地使用列表和滚动条。
为了这个问题,我创建了一个更简单的 test.html。在下面的代码中,假设我想让绿色块在鼠标悬停时越过滚动条。甚至可能吗?
我尝试使弹出位置=绝对,尝试溢出=可见,尝试提供非常大的z-index。
<style type="text/css">
div#listpanel {
width: 254px;
height: 1180px;
overflow-y: scroll;
overflow-x: hidden;
}
div.blackdiv {
left: 0px;
width: 500px;
height: 107px;
top: 20px;
background: black;
}
div.greendiv {
left: 180px;
top: 50px;
width: 600px;
height: 20px;
background: green;
}
</style>
<div id="listpanel">
<div role="list">
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
<div class="blackdiv" role="listitem">
<div class="greendiv">
</div>
</div>
</div>
</div>