2016-04-21 95 views
0

我已经有了一个与overflow: hidden的div,并且里面有一个相当大的元素集合,我想在被父元素溢出时被隐藏。不过,我也有两个自定义下拉菜单,我想重叠并在打开时退出div。无论如何要避免特定元素的溢出隐藏效果?这是一个example。假设我想让蓝色方块越过红色边框,并溢出它的父边界,但希望绿色方块保持切断和隐藏状态。只溢出某些元素

+0

这个问题在之前这里问:http://stackoverflow.com/questions/5367060/setting-overflowhidden-only对于某些元素 - 有一个阅读,那里的答案仍然相关。这里是他们使用的小提琴:http://jsfiddle.net/sEX3n/4/ – Frits

+0

实际上并不完全。我确实需要html结构保持几乎相同,或者至少保留不应该隐藏在“overflow:hidden”元素中的元素。 – GMchris

回答

1

YOu可以重叠/隐藏某些具有伪元素的元素,请参阅此示例。

HTML

<div class="red"> 
    <div class="blue"></div> 
    <div class="green"></div> 
</div> 

CSS

* { 
    box-sizing: border-box; 
} 

.red { 
    position: relative; 
    border: 3px solid red; 
    width: 300px; 
    height: 300px; 
} 

.red:after { 
    content: ""; 
    position: absolute; 
    left: 0; 
    right: 0; 
    height: 70px; 
    background: rgb(243, 245, 246); 
    bottom: -70px; 
    z-index: -1; 
} 

.blue,.green { 
    position: absolute; 
    width: 70px; 
    height: 70px; 
    bottom: -40px; 
} 
.blue { 
    background-color: blue; 
    z-index: 1; 
    left: 40px; 
} 
.green { 
    background-color: green; 
    z-index: -1; 
    right: 40px; 
} 

这里是fiddle

+0

谢谢,但将“overflow:hidden”元素移出“蓝色”并不是我能做的事情。它需要在那里。我希望会有一些涉及z-索引或什么的技巧/破解。 – GMchris

+0

https://jsfiddle.net/akzu4sc0/4/这个怎么样?但它不合适的解决方案 –

+0

这很聪明:D但是,是的,三个盒子的例子是我的实际网页看起来像过度简化。 – GMchris