Css 当父元素(级别2)隐藏溢出时,使绝对定位的子元素可见

Css 当父元素(级别2)隐藏溢出时,使绝对定位的子元素可见,css,overflow,Css,Overflow,当父元素(2级)的overflow属性设置为hidden时,我希望使内部绝对定位元素可见 注意:z索引不起作用 代码笔: .parent{ 溢出:隐藏; 宽度:5em; 身高:5公分; 边缘:5em; 背景:#6c3; 显示:块; } .孩子{ 位置:相对位置; } p{ 位置:绝对位置; 排名:0; 左:-2米; z指数:999; } 一些文本 如果父对象处于静态位置,如果将绝对位置设置为子对象,则将从流中删除: 部分{ 高度:100px; 宽度:100px; 背景颜色:橙色; 溢出:隐

当父元素(2级)的overflow属性设置为hidden时,我希望使内部绝对定位元素可见

注意:z索引不起作用

代码笔:

.parent{
溢出:隐藏;
宽度:5em;
身高:5公分;
边缘:5em;
背景:#6c3;
显示:块;
}
.孩子{
位置:相对位置;
}
p{
位置:绝对位置;
排名:0;
左:-2米;
z指数:999;
}

一些文本


如果父对象处于静态位置,如果将绝对位置设置为子对象,则将从流中删除:

部分{
高度:100px;
宽度:100px;
背景颜色:橙色;
溢出:隐藏;
}
跨度{
位置:绝对位置;
顶部:200px;
}

你好
佩伦特式居住者morbi tristique Sentecus et netus et malesuada以turpis egestas闻名。前庭侵权人、世仇、别有用心者、临时诉讼人、担保人。不要让你的自由人坐在那里。我的生命是永恒的。
莫里斯·普莱斯特拉特·埃利芬德·利奥


我建议将父级拆分为两个div,一个用于存储要裁剪的元素,另一个用于存储要重叠的元素

HTML

<div class="parent">    
    <div class="parent-wrapper">
        <!-- Put elements you want cropped in here -->
    </div>
    <div class="child">
        <!-- Put elements you don't want cropped in here -->
        <p>Some Text</p>
    </div>      
</div>

那么,如果希望孩子显示,为什么要将溢出设置为隐藏?实际上,这只是一个小测试用例。父div包含100个HTML元素,这可能会干扰布局。这就是溢出设置为隐藏的原因。所以。。。你的问题是什么?假设父div包含10个显示动态内容的div。它们可以包含任何可能破坏布局的内容。这就是为什么我在outer div上设置了overflow hidden属性。现在对于一个div,我想显示溢出的内容whatshover。这个div基本上包含工具提示,它只出现在鼠标上方。@mstoic-有什么原因不能使用
position:absolute
从流中删除子元素,并
显示:无隐藏它们,直到您准备好显示它们为止?这样您就不必使用
overflow:hidden
@Paulie\u D:问题是“当父元素(级别2)隐藏溢出时,使绝对定位的子元素可见”。如果具有overflow:hidden属性的父元素位于position:static,则绝对定位的子元素是可见的。。。我为您编辑了第二级父级,但机制是相同的。我解释说父级需要处于静态位置才能显示绝对位置的子级。这就是我回答的全部要点。也许我不够清楚,英语不是我的母语。OP的问题是它们不是静止的……所以你没有真正解决他的问题。你只是说“不要那样做”。也许如果你加上“不可能”并解释为什么不可能,那么答案可能会有所改进,我再读一遍,我看不出他是怎么说的。如果他的代码不起作用就是因为这个原因,那么,是的,我给了他一个让它起作用的方法,我甚至解释了为什么(父母应该在适当的位置:静态使它起作用)。也许这里有一个更好的方法来实现他想要的,我只是给了他一个线索,但我不能做得更好,除非他提供更多的细节…根据我的用例,元素需要放在“父元素”本身中。还有许多其他元素,所有这些元素都必须属于单亲。从这些元素中,我只想显示这个元素,即使使用了overflow hidden。你不能从这样的子元素中影响父元素的样式。如果溢出设置为隐藏,则溢出的所有元素都将被隐藏。您可能想考虑使用类似于注释中建议的IMI之类的东西,并设置您不希望看到的代码>代码>显示:无< /代码>。
.parent {

    width: 5em;
    height: 5em;
    margin: 5em;
    background: #6c3;
    display: block;
}
.parent-wrapper{
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

.child {
    position: relative;
}

p {
    position: absolute;
    top:0;
    left: -2em;
    z-index: 999;
}