Я пытаюсь растянуть содержимое div на высоту страницы. Я погуглил проблему, и пока ничего не работает. Все это начинает вызывать у меня головную боль. Возможно, кто-то более опытный мог бы взглянуть на мой код? Полная таблица стилей> 400 строк, поэтому я включаю то, что (надеюсь) имеет значение.
«Обертка» занимает 100% высоты страницы, тогда как «contentShadow» растягивается только до высоты текста в div «content».
Редактировать: насколько я могу судить, высота каждого контейнера равна 100%, что также делает "contentShadow" 100%. Правильно ...
Редактировать 2: Я начинаю видеть проблему, но не знаю, как ее решить . Хотя следующий код будет удерживать нижний колонтитул, это также означает, что, поскольку .wrapper не имеет высоты: 100%, «contentShadow» не будет растягиваться. Тогда вопрос заключается в том, как сохранить нижний колонтитул при изменении этого кода:
.wrapper {
min-height: 100%;
height: auto !important;
margin: 0 auto -37px;
}
К этому:
.wrapper {
height: 100%;
}
Базовая структура страницы:
<div id="body">
<div id="headerWrapper"></div>
<div id="wrapper">
<div id="contentShadow">
<div id="#contentWrapper">
<div id="content">
<!-- contentshadow stretches the height of this content and no further, but SHOULD stretch the height of the entire page -->
</div>
</div>
</div>
<div id="push"></div>
</div>
<div id="footer"></div>
Css правила, относящиеся к этим div:
html, body {
height: 100%;
}
#headerWrapper {
height: 314px;
width: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -37px;
}
#contentShadow {
min-height: 100%;
width: 994px;
background-image: url(../images/contentShadow.png);
background-repeat: repeat-y;
margin-right: auto;
margin-left: auto;
}
#contentWrapper {
min-height: 100%;
width: 940px;
margin-right: auto;
margin-left: auto;
padding-right: 16px;
padding-bottom: 16px;
padding-left: 16px;
padding-top: 17px;
background-color: #EDECEC;
overflow: hidden;
}
#content {
min-height: 100%;
}
.footer, .push, {
height: 37px;
}
.footer {
background: white;
clear: both;
height: 37px;
}