3

我正在构建的网站有问题。我有一个包含 2 个链接(称为“默认”和“测试”)到列表项的菜单,但在 Firefox 中我无法单击它们。在 IE 中它们有效:我认为是页面上项目的 z-index 问题,但我无法解决。

<!DOCTYPE html>
<html>
<head>
<style>
.sezup li.current{
    color:#067d2c;
    position:relative;
    z-index:20;
}

.sezup a, a:hover{
    color:#067d2c;
    position:relative;
    z-index:20;
}
.header{
    position:relative;
    top:0px;
}
.sezup {
    margin: 0 auto;
    padding: 0 0 0 75px;
    width:800px;
position:relative;
    z-index:20;
}
#lineaup {
    background: url("../Images/sfondobarraup.png") repeat scroll 0 0 transparent;
    height: 16px;
    margin: 55px 0 0;
    position: relative;
    z-index: 0;
    top: -25px;
    left: 0px;
}
#lineaup li {
    bottom: 6px;
    float: left;
    margin: 0 10px;
    padding: 2px 15px;
    position: relative;
}
.loghi {
    margin: 0 auto;
    padding: 20px 0 0;
    position: relative;
    top: -45px;
    width: 1000px;
    height: 97px;
    border:1px black solid;
}
#logo {
    position: relative;
    top: -20px;
    float:left;
}
#calciatore {
    position: relative;
    float:right;
    top:-50px;
}
#erba {
    background: url("../Images/erba.png") repeat scroll 0 0 transparent;
    height: 65px;
    position: relative;
    top: -110px;
    z-index: 0;
    border:1px black solid;
}
</style>
</head>
    <body>



        <div class="header">
            <div id="lineaup">
                <div class="sezup">
                    <ul>

                        <li class="current"><a href="Default.aspx" id="hrefHome">Default</a></li>
                        <li><a href="test.aspx?id=1" id="hrefProfile">Test</a></li>
                    </ul>
                </div>
            </div>
            <div class="loghi">

                <img src="" title="logo" id="logo" /><img src="" title="logo" id="calciatore" />

            </div>

             <div id="erba">
             </div>
        </div>

    </body>

</html>
4

3 回答 3

3

由于stacking context,一旦在父元素上设置了 z-index,就不能通过在子元素上设置更高的 z-index 来“突破”它。

通常通过删除所有多余的 z-index 值并仅在需要的地方添加它们会更容易处理。

在此处查看演示

于 2012-10-16T17:04:31.353 回答
1

摆脱所有,z-index除了:

#lineaup {
    z-index: 1;
}

#erba {
    z-index: -1;
}

您应该只更改z-index父元素的。没有理由为子元素分配越来越高的值indices

此外,由于它通常只是一个元素在另一个元素之后,我认为这个-11解决方案不仅有效而且看起来不错,并且易于理解。

作为记录,负 z 索引是允许的

于 2012-10-16T17:01:21.963 回答
0

增加 #lineap 的 z-index

#lineaup {
  z-index: 1;
  ...
}

http://jsfiddle.net/willemvb/wxWBm/

于 2012-10-16T17:04:21.877 回答