1

可能重复:
z-index 不适用于固定定位

我正在创建一个具有固定页眉和页脚以及固定左侧边栏的应用程序。一切都很好,只是 z-index 属性不起作用。我已将页眉和页脚的 z-index 设置为 1000,将主 div 的 z-index 设置为 1。因此页眉和页脚应该堆叠在 .main div 上。但结果不一样。

<!DOCTYPE html>
<html>
  <head>
    <title>Sample Title</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
  </head>
  <body>
    <div class="header fixed-top">
      <div class="header-inner">
        <ul class="nav">
          <li>
            <a href="#">Link 1</a>
          </li>
          <li>
            <a href="#">Link 2</a>
          </li>
          <li>
            <a href="#">Link 3</a>
          </li>
        </ul>
      </div>
    </div>
    <div class="sidebar-left-fixed">This is the left sidebar. This should remain fixed.</div>
    <div class="main">And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br />And here comes the content division.
    <br /></div>
    <div class="footer fixed-bottom">
      <div class="footer-inner">footer</div>
    </div>
  </body>
</html>

这个CSS:

a{
color: #777;
text-decoration: none;
text-shadow: 0 1px 0 white;
}
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 20px;
color: #333;padding:0;
margin:0;
}
ul{
margin:0;padding:0;
position:relative;
list-style-type:none;
}
li{float:left}
.nav > li > a{padding: 10px 15px 10px;}
.fixed-top{
position:fixed;
top:0;right: 0;
left: 0;
z-index:1000;
}
.fixed-bottom{
position: fixed;
right: 0;
left: 0;
margin-bottom: 0;bottom: 0;
z-index:1000;
}
.header-inner{
border-bottom:solid 1px #eee;
min-height: 40px;
z-index:1000;
position:relative;
}
.footer-inner{
border-top:solid 1px #eee;
min-height: 80px;
position:relative;
z-index:1000;
}

.sidebar-left-fixed{
position:fixed;
left:0;
width:250px;
border-right:solid 1px #eee;
height:100%;
top:40px;
}
.main{
margin-top:40px;
margin-left:250px;
margin-right:0;
min-height:600px;
border-right:solid 1px #eee;
border-bottom:solid 1px #eee;
padding:5px;
z-index:1;
position:relative;
}

注意:如果有其他好的方法可以得到这个设计,欢迎提出。

4

3 回答 3

1

没有为页眉、页脚和侧边栏部分提供任何背景颜色。否则它工作得很好。

于 2013-01-02T08:09:40.683 回答
0

它似乎有效,唯一的问题是您的页眉/页脚没有任何背景(颜色)。并且是透明的,你只是通过它看到内容。

如果为页眉和页脚添加背景颜色,您可以看到它们下方的内容。

于 2013-01-02T07:49:33.687 回答
0

我认为morksinaanab是正确的,但您也可以将 padding-bottom 添加到 .main。尝试添加:

.main { 
/* Your code */
padding-bottom: 85px; } /* the height of padding should be at least the same amount that footer height + 5px for space */
于 2013-01-02T08:07:56.360 回答