css - 如何使弹出窗口溢出滚动的 div?

标签 css

我有一个滚动的 DIV,其中包含许多元素的列表:

 ___________
|         |^|
| Item1   | |
|_________| |
|         | |
| Item2   | |
|_________| |
|         | |
| Item3   | |
|_________|v|

当用户滑过列表项时,会出现一个描述该元素的弹出窗口:

 ___________
|         |^|
| Item1   | |
|_________| |
|        _|_|____________________
| Item2 | Description for item 2 |
|________------------------------
|         | |
| Item3   | |
|_________|v|

困境是滚动的 div 必须有 overflow:auto,但弹出窗口希望在 div 之外可见。所以目前,我的弹出窗口被砍掉了:

 ___________
|         |^|
| Item1   | |
|_________| |
|        _|_|
| Item2 | De|
|________---|
|         | |
| Item3   | |
|_________|v|

HTML

<div id="box">
  <ul>
    <li>
       <h2>Item 1</h2>
       <span>Description for item 1</span>
    </li>
    <li>
       <h2>Item 2</h2>
       <span>Description for item 2</span>
    </li>
    <!-- ... and many other items --->
  </ul>
</div>

CSS

#box {
   width: 10em;
   height: 20em;
   overflow: auto;
}

#box ul {
   line-height: 2em;
}

#box ul li {
   position: relative;
}

#box ul li span {
   display: none;
   position: absolute;
   right: -1em;
   top: 1em;
   height: 1em;
}

#box ul li:hover span {
   display: block;
}

最佳答案

您可以尝试在弹出元素上使用 position:fixed 进行试验,看看是否对您有帮助:

http://jsfiddle.net/SpEb2/

关于css - 如何使弹出窗口溢出滚动的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12063493/

相关文章:

javascript - 如何在页面加载时仅显示特定幻灯片

javascript - OL3 中可点击的 map 覆盖?

jquery - 当 Asterisk 或更大的运算符开始一个元素时

html - 如何在缩放标题中垂直对齐和 float 两个文本框(左和右)

css - 为什么文本在 float : left block? 之后被向下推

html - 如何在 td 之间创建空间并对齐 td 内的内容

javascript - 悬停时 clearInterval 并且如果元素具有特定背景

javascript - 输入内容时,按钮调用的下拉列表中的输入表单关闭

css - 如何将居中的 div 置于居中的 div 下方?

css - CSS 中的后备字体粗细