为啥 Z-index 在这里不起作用? [复制]

Posted

技术标签:

【中文标题】为啥 Z-index 在这里不起作用? [复制]【英文标题】:Why is Z-index not working here? [duplicate]为什么 Z-index 在这里不起作用? [复制] 【发布时间】:2012-12-16 14:34:42 【问题描述】:

可能重复:z-index not working with fixed positioning

我正在创建一个具有固定页眉和页脚以及固定左侧边栏的应用程序。一切都很好,只是 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;

lifloat:left
.nav > li > apadding: 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;

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

【问题讨论】:

你的意思是这样吗? jsfiddle.net/7gK5U/2 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

我认为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 */

【讨论】:

【参考方案3】:

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

【讨论】:

只是为了确认这个标记对这种情况有好处还是其他更好?

以上是关于为啥 Z-index 在这里不起作用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥嵌套的 z-index 不起作用[重复]

如果另一个元素在这里有margin-top,为啥top:0 和position:absolute 不起作用? [复制]

html中,为啥有的css样式在样式表里不起作用?!

为啥 memset 功能不起作用? [复制]

为啥在这种情况下转换属性不起作用? [复制]

Python 函数退出不起作用 - 为啥? [复制]