嵌套自定义元素时的z-index似乎获得了新的堆叠上下文。为什么?

时间:2016-10-13 13:58:16

标签: css polymer

我的应用程序中有一个对话框,显示卡片列表。我制作了一个jsbin简化版本

http://jsbin.com/qopocej/edit?html,output

如果我点击任何卡片上的蓝色轮廓,会弹出一个漂亮的对话框,其中包含一个简短的菜单项。特别是点击'Joe'下面的蓝色轮廓,看看对话框如何覆盖当前卡片及其周围的卡片。

我需要重构代码,以便每个卡片操作中的当前元素是一个新的自定义元素,它带来了显示菜单对话框的所有功能。在实际应用程序中,这会对服务器执行一些ajax调用以更新信息。

我遇到的问题是重构的事实已经破坏了对话框的显示方式。这显示的是这个jsbin

http://jsbin.com/vecoxuh/edit?html,output

点击“Joe”下方的红色框,看看对话框在当前卡片上方的位置,但在附近的其他卡片下方

我认为这与“堆叠上下文”有关,因为为两个对话框中的每一个添加了z-index的显式样式应该意味着它仍然可以工作,但它不会

1 个答案:

答案 0 :(得分:1)

带有活动对话框的.item需要设置高于其兄弟姐妹的z-index。子下拉菜单的z-index相对于其父项的z-index,无论它明确设置为什么。因此,如果最远的父母没有z-index使其与其他卡片重叠,那么它的孩子都不能做同样的事情。