CSS: высота % родителя с минимальной высотой % дочерних элементов (относительно позиционированных)

Итак, я мог бы на самом деле слишком много думать об этом и должен отказаться от min-height, но в настоящее время у меня есть следующий HTML:

<div id='container'>
      <div id='nav'>
      </div>
      <div id='content'>
          <div id='main-content'>
                <div class='stuff'>
                </div>
                <div class='stuff'>
                </div>
                <div class='stuff'>
                </div>
          </div>
          <div id='side-bar'>
                 <div class='stuff'>
                </div>
                <div class='stuff'>
                </div>
                <div class='stuff'>
                </div>
          </div>
      </div>
 </div>

CSS:

#container {
     width:100%;
     height:100%;
     position:relative;
 }

#nav {
     width:1000px;
     height:40px;
     position:fixed;
         top:0;
}

  #content{
     width:100%;
     min-height: -webkit-calc(100% - 40px);
     min-height: -moz-calc(100% - 40px);
     min-height: calc(100% - 40px);
     margin-top:40px;
 }

#main-content{
     background:#e1e1e1;
     width:600px;
     height:100%;
     position:relative;

}

 #side-bar{
         background:#d1d1d1;
         width:400px;
         height:100%;
         position:absolute;
             right:0;

    }

Я просто ищу простую компоновку из двух столбцов с разным цветом столбцов -> всегда не менее 100% высоты, чтобы они заполняли экран. Я установил минимальную высоту, поскольку, если содержимое внутри переполняется, я бы хотел, чтобы высота родительского div «content» (и впоследствии div «container») росла и позволяла прокручивать страницу.

Однако сейчас... кажется, что min-height % не работает, когда внутри родителя с высотой %. Не говоря уже о том, чтобы просочиться дальше.

Может быть, я просто подхожу к этому совершенно неправильно? Я не знаю.


person jstacks    schedule 18.09.2013    source источник
comment
Я не вижу height: 100%; на html и body. Может быть проблема, но расположение на nav и #side-bar сбивает меня с толку.   -  person SlightlyCuban    schedule 18.09.2013
comment
Я просто сделал короткую HTML/CSS здесь, поэтому не добавлял body или html. Однако у меня оба они установлены на 100% по высоте и ширине.   -  person jstacks    schedule 18.09.2013
comment
добавить скрипку? FWIG это должно работать (вроде), но я не смотрю на всю проблему.   -  person SlightlyCuban    schedule 18.09.2013


Ответы (1)


Вы должны сначала объявить высоту родительского элемента, прежде чем объявить % высоты дочернего элемента.

person Haiz    schedule 18.09.2013
comment
попробуйте сделать высоту в px - person Haiz; 18.09.2013
comment
Мне нужно иметь переменную высоты с высотой экрана. Таким образом, содержащий div равен 100%. Его дочерний элемент - это панель навигации, которая имеет фиксированную высоту в пикселях, но div содержимого просто на 100% меньше пикселей панели навигации, но минимальная высота, потому что она должна расти, если содержимое внутри растет. Таким образом, основная область и боковая панель на 100 % меньше родительской области (на 100 % меньше 84 пикселей). - person jstacks; 18.09.2013