将绝对放在相对定位元素的后面

新手上路,请多包涵

我在同一个容器中有两个元素,第一个有 position: absolute ,第二个 position: relative 。有没有办法设置绝对元素的“z-index”,使其在后台?相对定位的元素应该在顶部(z 层),因为它包含链接……

这是一个 JSFiddle:http: //jsfiddle.net/8eLJz/

绝对定位元素位于 z 层的顶部,我对 z-index 属性没有影响。我能做什么?

原文由 Luca Nate Mahler 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 310
2 个回答

我不确定你想要哪个在前面,但你只需要在两者上设置位置并在两者上设置 z-index 。 http://jsfiddle.net/8eLJz/2/

 a {
    color: black;
}

nav#mainNav {
    position: relative;
}

nav#mainNav > img {
    position: absolute;
    width: 100px;
    left: 0;
    z-index: 5;
}

nav#mainNav > a > img {
    width: 100%;
}

nav#mainNav > nav {
    width: 100%;
    position: relative;
    z-index: 10;
}

nav#mainNav > nav > a {
    display: block;
    text-align: right;
    background-color: yellow;
}

原文由 2pha 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以在图像上放置一个负的 z-index,这将导致它位于其他元素的后面:

 a {
  color: black;
}

nav#mainNav {
  position: relative;
}

nav#mainNav>img {
  position: absolute;
  width: 100px;
  left: 0;
  z-index: -1; /* <----------------------------------- HERE I AM! */
}

nav#mainNav>a>img {
  width: 100%;
}

nav#mainNav>nav {
  width: 100%;
}

nav#mainNav>nav>a {
  display: block;
  text-align: right;
  background-color: yellow;
}
 <nav id="mainNav">
  <img src="http://www.colourbox.com/preview/7389458-682747-example-stamp.jpg" />
  <nav> <a href="/">Some Text</a>
    <a href="/">Some Text</a>
  </nav>
</nav>

原文由 isherwood 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题