z-index在叠加下的div中不起作用

时间:2016-04-17 20:40:33

标签: html css

这是描绘我的问题的图片

enter image description here

灰色叠加层位于正文树的顶部,并具有以下css:

MyList

叠加层下方的div(带有顶部边框)具有以下css

>>> class riter(object):
...     def __init__(self, iterable):
...         self.iterable = iterable
...         self.it = iter(iterable)
...     def __next__(self): # python 2: next
...         try:
...             return next(self.it)
...         except StopIteration:
...             self.it = iter(self.iterable)
...             raise
...     def __iter__(self):
...         return self
... 
>>> 
>>> a = [1, 2, 3]
>>> it = riter(a)
>>> for x in it:
...     x
... 
1
2
3
>>> for x in it:
...     x
... 
1
2
3

此类被添加到.inside_div dinamically:

overlay{
    z-index: 500;
    background: black;
    width: 100%;
    height: 100%;
    opacity: 0.7;
    position: absolute;
    display: none;
}

所有元素" inside_div"下面的课堂上添加了以下课程:(注意以下课程也会影响所有的孩子,并使用' *')

inside_div{
    height: 575px;
    width: 50%;
    float: left;
    border: 2px solid green;
    padding:20px;
    overflow-y:scroll;
}

但是,如图所示,并非所有元素都突出(div内的背景仍为灰色)。我需要知道一种切换前两个类的方法,以突出显示所描述的元素。这到底出了什么问题?非常感谢你的帮助

3 个答案:

答案 0 :(得分:1)

来自W3 Schools

  

注意:z-index仅适用于定位元素(位置:绝对,位置:相对或位置:固定)。

您给z-index的元素很可能在这三个元素中没有一个位置。

希望有所帮助

答案 1 :(得分:0)

您似乎没有在inside_div元素上设置position属性。你应该用你的代码发布一个小提琴。

答案 2 :(得分:0)

这个答案有点晚了,但问题可能是因为overlay div有不透明度< 1。因此,正在创建一个新的stacking context,这可能会解释您看到的行为。没有看到你的所有代码就很难分辨。这是一篇很好的文章,更详细地解释了stacking contexthttps://philipwalton.com/articles/what-no-one-told-you-about-z-index/