Так что я работал над веб-сайтом, когда сталкивался с проблемой моего нижнего колонтитула, не оставаясь внизу моего контейнера div (нижний колонтитул не был внутри контейнера, он был помещен после него в HTML). Я понял, что это связано с тем, что некоторые дочерние div были перемещены, поэтому мне пришлось переполнять: auto на контейнере - ОДНАКО, потому что мне нужны были дети, чтобы иметь процентные высоты, у меня была высота на 100%, и, как вы, вероятно, знать переполнение: авто + указана высота = полоса прокрутки. Но, имея только минимальную высоту, не позволил бы дочерним divs получить их высоту. Иметь, конечно, не сработает.Ребенок не отвечает на процентную высоту
Я воссоздал проблему в некоторых отдельных файлах тестирования, избавляясь от ненужного CSS (хотя я уверен, что некоторые все еще остаются), поэтому я мог визуализировать проблему без беспорядка. It's on this JSFiddle currently. У меня уже есть высота, потому что в идеале я не буду ее использовать.
Вот мой контейнер DIV CSS:
#container {
position: relative;
width: 70%;
/*height:100%;*/
min-height: 100%;
overflow: auto;
margin: 0 auto;
background-color:#FFDA8A;
}
И одна из дочерних див, которые необходимы высота в процентах:
.featured {
position: relative;
width: 100%;
height: 50%;
background-color:red;
}
EDIT: Я хочу добавить, что я знаю почему это что мне было интересно, если кто-то наткнулся на способ только для CSS. Если он не может быть процентами, тогда я буду искать в flex-box (как упоминалось PiniH, спасибо!).
Ответ заключается в том, что процентные значения свойств являются ** процентом их родительских **. Родитель не имеет высоты, поэтому ребенок пытается создать 50% высоты ничего, а 50%/0 = 0. – TylerH