IE 忽略定位元素上的 Z-Index

2023-11-30

事实证明,IE 再次成为我生存的祸根。我正在开发的网站顶部有一个水平菜单,其中的一个项目会触发一个纯 CSS 菜单,该菜单绝对定位在父菜单 DIV 内(相对定位)。这使得菜单可以完美地放置在 IE 和 W3C 兼容浏览器中。

当我在页面下方有更多定位元素时,就会出现问题。它们也是相对定位的,因为它们内部的数据需要绝对定位......同样,这在我测试过的所有浏览器中都能正确显示。

问题是,然后打开顶部菜单,部分内容被页面下方的定位元素遮挡 - 实际上,它位于这些元素下方,即使所有元素都定义了 z-index 属性。 (在 CSS 文件和内联中)。

让 IE 正确显示此内容的唯一方法是将菜单的实际 HTML 放置在页面底部、位于页面其他位置的定位元素下方(用 DOM 术语来说)。我只会将其作为绝对的最后手段。

所有元素都是相同的类型(div)。这是相关的 HTML:

<div id='menu'>
<div id='cat_menu' style='display:none;z-index:10000;'>
<table cellspacing='0' cellpadding='0' class='brmenu' width='100%'>
    [data]
</table>
</div>

<div class='product_new' style='z-index:20;'>[data]</div>
<div class='product_listing' style='background-color:#FFFFFF;'>[data]</div>

以及相关的CSS:

div#menu {
height: 26px;
padding: 0;
position: relative;
}

div#cat_menu {
position: absolute;
top: 25px;
left: 115px;
width: 300px;
z-index: 1000;
}

 div.product_new {
background-image: url("/images/sp_images.png");
background-position: 0 -108px;
background-repeat: no-repeat;
padding 0px;
height: 40px;
font-size: 9pt;
margin-top: 5px; 
position: relative;
z-index: 20;
}

我有同样的问题。经过一番尝试后,我同意 David 的观点:“IE 只能可靠地呈现同级元素的 z 索引。”

我确实想出了一个简单的替代解决方案。看起来 ie 将非同级元素的 z 索引呈现为零(就好像它们没有 z 索引一样)。我通过将有问题的元素及其父元素设置为负 z 索引,将它们放在 z 索引重置为零的元素下方,解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE 忽略定位元素上的 Z-Index 的相关文章

  • 嵌套 Flexbox 100% 高度在 Safari 中不起作用 [重复]

    这个问题在这里已经有答案了 我是 Flexbox 的新手 我尝试使用它来创建一个具有固定页眉 固定页脚和填充页眉和页脚之间可用空间的内容区域的布局 内容区域是一个可滚动区域 有 3 个面板 div 每个面板都有 100 的高度 出于演示目的
  • Bootstrap 3 导航栏动态折叠

    我正在寻找引导导航栏调整大小问题的解决方案 目前 导航栏在压缩之前可以具有某种 重叠 效果 我知道这是由于媒体查询造成的 此处使用媒体查询来指示何时进行紧凑 但是我正在寻找一种解决方案 仅当 navbar nav 和 navbar righ
  • 在 html5 音频播放器时间轴上制作样式

    我想在 html5 音频播放器上制作一个样式
  • 离子标签栏与主页按钮重叠(iPhone X - iOS 11)

    使用 iOS 11 和 iPhone X苹果指定 https developer apple com ios human interface guidelines overview iphone x 每个应用程序都应该位于 安全区域 由于虚
  • 设置 display:block 后将焦点设置在输入元素上

    我有一个 HTML 内容如下 div class hiddenClass this implies display none span span div
  • 将 div 扩展到 iFrame 范围之外?

    是否可以将内容扩展到 iframe 之外 就我而言 我以前渲染的是原生
  • 柔性端和端部的区别? [复制]

    这个问题在这里已经有答案了 当我使用 css 属性时align items 我看不出与值有任何视觉差异flex end或值end 有什么区别align items end and align items flex end 一个值 end 在
  • 使用 CSS3 在屏幕上移动图像

    我浏览网页已经有一段时间了 试图找到一种方法 让图标在加载页面时移动到屏幕上 从左侧移动到 body div 的中心 如何才能做到这一点 这是我到目前为止所拥有的 CSS3 a rotator text decoration none pa
  • 有没有办法为 CSS3 边框图像的每一侧使用不同的图像?

    在 Firefox 和 Safari 上 我可以通过以下 CSS 使用图像作为边框 moz border image url shadow left png 0 7 0 7 round round webkit border image u
  • 使用 javascript 暂停 CSS 动画并跳转到动画中的特定位置

    我有一个完全用CSS动画构建的无尽滑块 我希望能够使用javascript onlcick和键盘输入 来操纵动画 我希望能够从一帧快速运行动画 即加速到另一帧 以便在按下引用滑块中特定图像的按钮时产生跳跃效果 另外 我希望能够通过键盘输入逐
  • 缩放不同宽度的图像以适应行并保持相等的高度

    我有三张图片 全部是不同宽度 但每个相同高度 我希望这些图像位于响应行中 以便这三个图像的组合宽度为屏幕宽度的 100 所有图像具有相同的高度 每个图像保持其纵横比 并且图像不会被裁剪 一种方法是根据每个图像的宽度 在 CSS 中为每个图像
  • VS2010中是否可以更改CSS验证方案

    我正在 VS2010 中编辑一个简单的 CSS 文件 编辑器似乎对 CSS 的理解相当有限 例如 my rule position relative 生成警告 Validation CSS 1 0 position is not a kno
  • 在弹性行中使用“nowrap”时,避免将最后一个元素推离屏幕

    我需要在一行内渲染很长的文本 以及该行末端 屏幕的近端 的图像 给定一个很长的文本 我必须简单地截断它 该文本现在应该进入第二行 因为它太长了 请看我的代码 如何避免将漂亮的表情符号挤出屏幕 请考虑到右侧的元素可能是动态的 所以给出固定宽度
  • 第二个内联块 div 上方的空白

    我确信我在这里忽略了一些东西 但无法解决 我的第二个内联块 div 上方有空白 只有当右侧 div 中的 文本此处 长度小于左侧 div 时 才会发生这种情况 js小提琴 http jsfiddle net B2S4r 2 http jsf
  • 如何消除页面边缘的间隙?

    我已经将主体和两个 div 的边框 内边距和边距设置为 0px 但我似乎仍然无法摆脱差距 body padding 0px border 0px margin 0px width 100 height 100vh mainPage heig
  • 在引导汉堡包图标的左侧添加电话和地图图标

    我有一个基本的 bootstrap v3 网站 当导航栏在较小的屏幕上切换到汉堡包图标时 我想添加一个电话图标 链接到电话号码 和一个地图图标 链接到谷歌地图 以便移动用户可以轻松访问它们 我尝试通过在 navbar toggle 按钮之前
  • 来自外部的 Shadow DOM CSS 样式在 Google Chrome 中不起作用

    我在用polymer s paper action dialog and paper button在我的网页中 纸张操作对话框中有两个纸张按钮 我想从外部 主 html 设计这些纸质按钮的样式 我已经写了CSS样式在shadow DOM符号
  • 使用标签强制关闭 IE 兼容模式

    我正在为一个在所有 Intranet 站点上强制使用兼容模式的客户工作 我想知道是否可以在 HTML 中放入一个标签来强制关闭兼容模式 有 边缘 模式 http msdn microsoft com en en library cc8175
  • 删除多个类 (jQuery)

    有没有更好的方法来重写这个 element removeClass class1 removeClass class2 我无法使用removeClass 因为它会删除我不想要的所有课程 element removeClass class1
  • CSS,堆叠圆圈

    我想制作一些圆形 div 就像下面代码中的那样 不过 我希望它们彼此堆叠在一起 所以我想要一个蓝色圆圈 展开 在当前红色圆圈后面 但中心与红色圆圈相同 红色的必须在上面 这是我当前的代码 circles margin right auto

随机推荐