我有一个非常简单的HTML结构,我试图实现的是让绝对定位div.outside
超越相对定位的包含div.content
。就我而言,div.outside
必须是div.content
的孩子。我想知道,是什么 CSS 规则导致它被隐藏?
我的假设是,由于parent
具有overflow-x: scroll
,因此overflow-y: visible
的组合(由浏览器自动设置?如果是这种情况,是否有任何可能的方法可以在我给定的约束下实现这一目标?
.HTML
<div class="parent">
<div class="content">
<div class="outside"></div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
At maiores quo minima officia totam suscipit deleniti
perferendis fugiat, hic necessitatibus sit sapiente
aperiam, enim voluptatum, unde labore iste ea iusto!
</div>
</div>
.CSS
.parent {
width: 250px;
overflow-x: auto;
margin-top: 100px;
}
.content {
width: 500px;
position: relative;
}
.outside {
position: absolute;
width: 10px;
height: 10px;
background: red;
top: -10px;
z-index: 999;
}
小提琴https://jsfiddle.net/pz7gkyyz/
**编辑**
为了给我的问题提供更多上下文,我有一个在水平轴上滚动的表格,因为有很多列(但是只有表格滚动而不是整个屏幕)。可以将鼠标悬停在列标题上,并显示工具提示。我使用标题作为相对点,并希望将工具提示向上偏移当前被切断/隐藏的位置。
顶部:-10导致此问题,如果将其删除,您将能够看到它。
.outside {
position: absolute;
width: 10px;
height: 10px;
background: red;
top: -10px; // Remove this
z-index: 999;
}
你的CSS没有问题。.outside
是一个空的div。在.outside
内移动文本内容
.parent {
width: 250px;
overflow-x: auto;
}
.content {
width: 500px;
background:red;
position: relative;
}
.outside {
position: absolute;
width: 10px;
height: 10px;
background: red;
top: 10px;
overflow:hidden;
z-index: 999;
}
<div class="parent">
<div class="content">
<div class="outside">
</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. At maiores quo minima officia totam suscipit deleniti perferendis fugiat, hic necessitatibus sit sapiente aperiam, enim voluptatum, unde labore iste ea iusto!
</div>
</div>