0

我在这里做了一个简单的例子。

这是什么原因造成的?只需将 z-index 应用于 div(在示例中为.spread),鼠标事件就完全消失了。在我正在开发的插件中,我需要使用 z-index 进行定位,并且我不想让使用我的插件的用户将来尝试自己解决这个问题。

基本上,通过简单地应用

position:relative;
z-index:*anything less than 0)

任何和所有鼠标事件都将被清空。即使我尝试将正 z-index 添加到as,它仍然不起作用。

我该如何解决这个问题,以便我可以在 div 上放置负 z-index,同时仍然允许它们的内容是可点击/可悬停/任何东西?

编辑: 嗯,我很笨。我不知道body它有自己的 z-index,我只是想它会在所有内容下(因为你为什么要在整个页面下显示任何内容,只需显示:无)谢谢大家!

4

3 回答 3

2

我相信否定z-index将元素置于文档的<body>.

试试这个:

.spread { z-index: 1; }    
header  { z-index: 2; }

http://jsfiddle.net/uW9jk/3/

于 2013-06-13T20:54:18.743 回答
1

不要使用负 z 索引。-2将示例中的更改为 a0或 a1或其他任何积极的东西可以解决问题。证明。

于 2013-06-13T20:54:07.257 回答
1

通过设置负数,z-index您的div元素将位于body元素后面,默认情况下有z-index: 0

这可以通过设置 body 的 z-index 来确认。http://jsfiddle.net/uW9jk/5/

body{
    z-index: -3;
    position: relative;
}

根据docs.webplatform

正 z-index 值位于负(或较小值)z-index 之上。具有相同 z-index 的两个对象根据源顺序堆叠。正值将元素定位在没有定义 z-index 的文本上方,负值将其定位在下方。将此参数设置为 null 以删除该属性。z-index 属性仅适用于将位置属性设置为相对或绝对的对象。该属性不适用于窗口控件,例如选择对象。即使元素不可见,来自定点设备(例如鼠标)的输入也不会穿透重叠元素。对于具有负 z-index 的定位元素也是如此,除非:

父级是一个滚动容器(即其溢出属性设置为自动或滚动)。父级已定位(即其位置属性设置为绝对、相对或固定)。

更正:body元素默认具有,但将其解释为或是z-index: auto有意义的,因为低于 0 的所有内容都将在其后面。auto0positive index


注意:负 z-index 值是 CSS2.1 行为,在 CSS2 及更早版本中不允许。

负 z-index 支持:Webkit 1.0 | 壁虎(FF) 3.0 | IE 4.0 | 歌剧 4.0
于 2013-06-13T21:00:07.817 回答