工具提示需要溢出:自动容器而不会被切断

Lin*_*nda 6 css overflow tooltip flexbox

我正在构建一种桌面应用程序。页面本身不能滚动,但其中的不同内容部分可以滚动。因此,他们有overflow: auto

但是,现在我需要显示工具提示,因此在容器边缘将其切除。

我发现有关此问题的所有答案的所有答案都建议不要剪辑溢出(隐藏,自动,滚动),但是不幸的是,这不是我的选择。

而且由于无法确定容器和工具提示的高度,因为它们都从外部获取数据,所以我无法将工具提示放在其中途并且确保不会被切除。

因此,我需要一个不会切断工具提示的解决方案。

我的基本标记的工作示例:

#flex {
  display: flex;
  flex-direction: column;
  height: 200px;
  width: 100%;
}
#box1,
#box2 {
  flex 1;
  overflow-y: auto; /* without overflow the tooltip would work, but I need overflow */
}
#box1 {
  background-color: lightgrey;
}
#box2 {
  background-color: lightblue;
}
span {
  position: relative;
  text-decoration: underline;
}
#tooltip {
  background-color: lightgreen;
  display: none;
  position: absolute;
  height: 100px;
  width: 200px;
  bottom: 0px;
}
span:hover #tooltip {
  display: block;
}
Run Code Online (Sandbox Code Playgroud)
<div id="flex">
  <div id="box1">
    Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>
  </div>
  <div id="box2">
    Flex Content with <span>Tooltip
    <div id="tooltip">
    Tooltip text
    </div></span>
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>Flex Content
    <br>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/dqrkkvkL/

Lin*_*nda 4

解决方案在这里找到。

他们只是将position: relative包含工具提示的元素移动到围绕溢出元素的容器

https://jsfiddle.net/dqrkkvkL/1/