css - Z-Index 和相对/绝对定位

标签 css z-index positioning

<分区>

我在 z-index 和定位方面遇到了一些问题。基本上,当您将鼠标悬停在菜单项(主页、关于等)上时,油漆飞溅应该加载到菜单下方:

http://www.saradouglas.net/home

Stylesheet is located here .

当每个 splash div 设置为绝对定位时,这工作得很好,但我意识到它们会出现在不同屏幕分辨率的不同位置。我认为这只是将其更改为相对定位的情况,然后相应地调整坐标。不幸的是,现在我的飞溅没有像他们应该的那样出现在菜单下。

澄清一下,我希望启动画面出现在菜单下方 - 因此菜单应始终出现在启动画面之上。自从将菜单设置为相对菜单后,这才成为一个问题,并将这些飞溅设置为绝对菜单。

我希望这是一个简单的修复方法,我只是遗漏了一些东西。我希望这里有人能告诉我我哪里做错了并提供解决方案!

到目前为止已经提交了一些很好的答案,但不幸的是他们没有解决我的问题。我尝试将菜单背景添加到 ul 类而不是 div,但这对问题没有任何影响。

最佳答案

如果我没记错的话,z-indices 的优先顺序是这样的:

  • canvas(绘制元素的地方/父元素的可绘制区域)
  • 背景图片
  • z-索引:-1
  • 默认 (0)
  • z-index: 1+

当您为任何子元素指定 -1 的 z-index 时,由于父元素的优先级,它不会低于父元素的背景。

这是您的解决方案(刚刚在 firebug 上试过并且有效):

  1. #menu中删除bg图像,并在ul.menu下的li之前添加一个单独的div > 的。
  2. 将下面的 css 提供给此 div
  3. 现在给所有这些笔触一个小于 -1 的 z-index。 -2 作品。

应该就是这样。

CSS:

position:absolute;
top:0;
bottom:0;
left:0;
right:0;
z-index:-1;
background: url(...);

我知道它没有那么多语义,但是,嘿,它有效,对吧? :P

关于css - Z-Index 和相对/绝对定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10322868/

相关文章:

css - 将 div 定位在混合高度的 float div 下方时,如何与较短 div 的底部对齐?

html - 紧贴图片周围的 div

html - 使用 CSS 删除文本基线下方的空间

javascript - 如何从现有的弹出窗口打开一个新的弹出窗口?

javascript - 具有子菜单悬停效果的菜单

javascript - 确定绝对或全局 z-index?

jquery - 在可拖动元素上设置 z-index

css - 如何使用 z-index 禁用 iframe 中的链接?

css - 底部右侧绝对定位的问题

javascript - 如何动态添加表格行