Если возможно, вы должны разбить элементы фиксированного положения на 4 отдельные секции (верхняя, левая, правая и нижняя). Затем просто убедитесь, что вы разбили область содержимого по центру по их ширине и высоте, чтобы содержимое не перекрывалось:
HTML
<!-- 4 fixed position elements that will overlap your content -->
<div id="top"></div>
<div id="left"></div>
<div id="right"></div>
<div id="bottom"></div>
<div id="content">
<!-- Your content -->
</div>
CSS
html, body {
height: 100%;
}
#top, #left, #right, #bottom {
position: fixed;
left: 0;
top: 0;
z-index: 2;
background: red;
}
#top, #bottom {
width: 100%;
height: 20px;
}
#bottom {
top: auto;
bottom: 0;
}
#left, #right {
height: 100%;
width: 20px;
}
#right {
left: auto;
right: 0;
}
#content {
position: relative;
z-index: 1;
padding: 25px; /* prevent content from being overlapped */
}
Вы можете увидеть это в действии здесь .
Также обратите внимание на положение: относительно области содержимого. Это так, что z-index работает правильно, а содержимое отображается под фиксированными разделами.
Если вам нужна поддержка IE6 / 7, вам нужно добавить исправление CSS-выражения для правильной работы фиксированной позиции в этих потрясающих браузерах.