【发布时间】:2015-03-30 21:42:47
【问题描述】:
我似乎在 chrome 和 safari 上遇到了一个愚蠢的 z-index 问题,我找不到任何解决方案。
我准备了一个小提琴:
http://jsfiddle.net/j3kyvnym/1/
向下滚动时,页面内容应在标题(灰色条)上方但在徽标下方。在 Firefox 中按预期工作,但 chrome 和 safari 不会在徽标元素上应用 z-index。
我错过了什么吗? (我不希望标志是绝对的或固定的)
HTML:
<header>
<div class="logo">Logo</div>
</header>
<div id="page-body">
Page Content
</div>
CSS(简体):
header {
background: #f0f0f0;
position: fixed;
}
.logo {
position: relative;
z-index: 10;
}
#page-body {
z-index: 1;
position: relative;
}
【问题讨论】:
-
说实话,根据我对 z-index 工作原理的了解,对于给定的 html 结构,除非您使标题的背景透明,否则无法做到这一点。然后在视觉上它看起来就像你想要的那样。我不确定为什么 FF 会以这种方式显示它。也许有一种方法,我只是不知道,我很想看看是否有适当的方法来实现这一目标
-
我认为这没什么大不了的,但显然它是。我认为在这种情况下,Firefox 以正确的方式处理它。可惜的是 chrome + safari 没有这样做。正如你所说,我认为我需要更改 html 结构,或者找到其他解决方法
-
我认为 FF 的处理方式是错误的,这种情况很少见,但也许我错了。
标签: css google-chrome safari z-index