【发布时间】:2017-09-12 15:56:21
【问题描述】:
我在鼠标悬停上有一个弹出窗口。放在绝对定位的 div 中时,只显示部分弹窗。我的jsfiddle 在这里。这是我的问题here 的后续。当我发布这个问题时,我没有意识到代码会在已经具有绝对定位的 div 中使用。在该线程中发布的修复程序中,您可以看到弹出窗口显示正常。它和我的新代码之间的唯一区别是添加了两个周围的 div。它们的高度设置为 220 像素,我看到这是限制弹出窗口的原因,但我不知道如何修复它。这些初始高度设置需要保持原样,因此我无法删除或更改它们。请问有人可以帮忙吗?
<style>
#ds-holder {
position: relative;
margin: 0 auto;
width: 300px;
height: 220px;
overflow: hidden;
}
.ds-container {
top: 0px;
left: 0px;
width: 140px;
height: 220px;
position: absolute;
overflow: hidden;
}
#dsspan{
background: none repeat scroll 0 0 #F8F8F8;
border: 5px solid #DFDFDF;
color: #717171;
font-size: 13px;
height: auto;
width: auto;
letter-spacing: 1px;
line-height: 30px;
margin: 0 auto;
position: absolute;
text-align: center;
text-transform: uppercase;
top: 80px;
left:30px;
display:none;
padding:0 20px;
}
#dsspan:after{
content:'';
position:absolute;
bottom:-10px;
height:0px;
}
.ds {border:1px solid red}
.ds:hover #dsspan { display:block; }
</style>
<div id="ds-holder">
<div class="ds-container">
<div class="ds">
<span id="dsspan">
This line is longer than the rest.
<ul>
<li>Text</li>
<li>Text</li>
<li>Text</li>
<li>Text</li>
<li>Text</li>
</ul>
</span>
<a href="example.com">Hover Here</a>
</div>
</div>
</div>
【问题讨论】:
-
从
ds-holder和ds-container中删除overflow: hidden? -
这确实解决了示例中的问题。不幸的是,我不能在真正的代码中使用它。该代码使用 jssor 滑块显示图像,并且需要将溢出设置为隐藏。我在网上查看了很多很多示例,似乎显示这样的弹出窗口的唯一方法是使用绝对定位。所以我最终使用了一个 javascript 链接来打开一个对话框。它可以工作,但看起来不像我想要的那样,但它允许鼠标悬停,所以我想这是唯一的选择。不过,感谢您的建议。