【发布时间】:2012-01-01 13:36:48
【问题描述】:
我有一个绝对定位的 div,它就像一个工具提示。在将鼠标悬停在元素上时,它会显示,然后在鼠标移出时隐藏。我在位于工具提示元素上方的页面中几乎没有 <select> 元素。在正常情况下,工具提示 div 将出现在选择标签上。但是当用户点击选择标签并显示选项时,它会与工具提示重叠。为选择或选项标签提供更高的 z-index 不起作用。
这里有一个示例代码来说明问题。
<body>
<h1>Select Options Overlapping Absolute Positioned DIV</h1>
<select name="some-name">
<option>United States</option>
<option>Canada</option>
<option>Mexico</option>
<option>Japan</option>
</select>
<div id="top-layer">
<h2>Overlapping Div</h2>
</div>
</body>
CSS
select, options{ z-index:10;}
#top-layer {
background:#ccc;
color:#000;
border:solid 1px #666;
position:absolute;
top:45px;
left:70px;
z-index:100;
}
【问题讨论】:
-
所有浏览器都有这个?还是只是探险家?什么版本?在资源管理器的早期版本(iframe shimming or ie6 and below select z-index bug
-
为什么不将您的工具提示放在选择的一侧。那样就不会发生。
-
这不是 IE6 中选择标签重叠的问题。只有选择标签内的选项才会出现在 div 上方。它不适用于 Firefox、IE8、IE9 和 Chrome。没有在任何其他浏览器中测试过。 @fskreuz 工具提示是动态添加的,因此它可以出现在页面的任何位置。
-
@SandeepPaul:为什么工具提示会与选择重叠?我想到的是工具提示仅在鼠标悬停事件期间出现。我认为工具提示来自选择,这就是为什么我说“把它放在一边”.. 嗯..
-
@fskreuz 工具提示只会在鼠标悬停时出现。如果您查看 select 标记的默认行为,它会保持列表(选项)打开,直到您单击列表或页面上的任何其他位置。所以这个列表现在是打开的,你将鼠标悬停在具有该工具提示的元素上。现在选择下拉菜单与工具提示重叠。
标签: html css positioning z-index