Ответ 1
Фиксированный. Это был контейнер div сразу после тега тела. Даже с ростом CSS это создавало проблемы. Я удалил его и изменил script, который у меня был от рендеринга в этом div до document.body, и теперь все работает.
Всякий раз, когда я добавляю свойство min0height в DIV, чтобы сделать их 100%, он не работает. Я добавил их ко всем DIV, включая высоту: 100%; и min-height: 100%; но ничего не работает. Что бы я сделал, чтобы он простирался до конца? Он просто отключает фон боковой панели и цвет фона области содержимого.
(Забыл обозначить часть. Область содержимого с белым фоном -.col1)
CSS
@charset "UTF-8";
/* CSS Document */
img {
border-style: none;
color: #FFF;
text-align: center;
}
body {
background-color:#000;
margin:0;
padding:0;
border:0; /* This removes the border around the viewport in old versions of IE */
width:100%;
}
.sidebar {
background-image:url(../images/sidebar/background.png);
background-repeat:repeat-y;
font: 12px Helvetica, Arial, Sans-Serif;
color: #666;
z-index:1;
}
.menu {
background-image:url(../images/top_menu/background.png);
background-repeat:repeat-x;
height:25px;
clear:both;
float:left;
width:100%;
position:fixed;
top:0px;
z-index:5;
background-color:#000;
}
.bottom_menu {
background-image:url(../images/bottom_menu/background.png);
background-repeat:repeat-x;
height:20px;
z-index:2;
font: 12px Helvetica, Arial, Sans-Serif;
clear:both;
float:left;
width:100%;
position:fixed;
bottom:0px;
}
.colmask {
position:relative; /* This fixes the IE7 overflow hidden bug and stops the layout jumping out of place */
clear:both;
float:left;
width:100%; /* width of whole page */
overflow:hidden; /* This chops off any overhanging divs */
}
.sidebar .colright {
float:left;
width:200%;
position:relative;
left:225px;
background:#fff;
}
.sidebar .col1wrap {
float:right;
width:50%;
position:relative;
right:225px;
}
.sidebar .col1 {
margin:30px 15px 0 225px; /* TOP / UNKNOWN / UNKNOWN / RIGHT */
position:relative;
right:100%;
overflow:hidden;
}
.sidebar .col2 {
float:left;
width:225px;
position:fixed;
top:0px;
left:0px;
margin-top:25px;
margin-left:5px;
right:225px;
}
.clear {
clear: both;
height: 1px;
overflow: hidden;
}
HTML
<body>
<div id="container">
<div class="menu">Header Content</div>
<div class="colmask sidebar">
<div class="colright">
<div class="col1wrap">
<div class="col1" id="contentDIV">
Content
</div>
</div>
<div class="col2">
Sidebar Content
</div>
</div>
</div>
<div class="bottom_menu">Footer Content</div>
</div>
</body>
Фиксированный. Это был контейнер div сразу после тега тела. Даже с ростом CSS это создавало проблемы. Я удалил его и изменил script, который у меня был от рендеринга в этом div до document.body, и теперь все работает.
Если вы пытаетесь заставить свой контент и боковую панель растягивать всю высоту страницы, то никакая установка высоты не поможет. Если вы используете 100%, вы собираетесь вытолкнуть свой фоттер в нижней части страницы, чтобы просмотреть его. Существует один метод, который, как я знаю, позволит вам иметь полноразмерное тело с нижним колонтитулом: Sticky Footer
Подробнее читайте на следующем сайте: http://www.cssstickyfooter.com/
Еще один трюк, который вам, вероятно, понадобится. Почти невозможно получить два столбца одинаковой высоты и поддерживать все браузеры. Самый простой способ получить серый столбец в левом и белом центральном теле, чтобы растянуть его до нижнего колонтитула, - это использовать 1-пиксельное высотное изображение с серым и белым в правильных пропорциях, которое повторяется фона вдоль y ось.
Другим замечательным сайтом для знаний CSS является A List Apart.
Трудно получить компоновку компоновки, используя поплавки и позиционирование на тех же элементах. В частности, float и position: фиксированные (или абсолютные) несовместимы, и каждый браузер обрабатывает ситуацию по-разному.
IE6 не поддерживает позицию: фиксируется вообще и рассматривает ее как позицию: static (по умолчанию - без позиционирования вообще).