Similar Post:
z-index not functioning properly with fixed positioning
I'm in the process of developing an app that includes a fixed header, footer, and left sidebar. Everything seems to be in order except for the z-index property which is not behaving as expected. I've assigned a z-index of 1000 to the header and footer, and 1 to the main div. This should stack the header and footer above the main content, but the result is not what I anticipated.
<!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 fixed left sidebar.</div>
<div class="main">And here comes the main content.
(Content repeated multiple times)
</div>
<div class="footer fixed-bottom">
<div class="footer-inner">footer</div>
</div>
</body>
</html>
CSS Styles:
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;
}
Note: Suggestions on alternative methods for achieving this design are welcome.