У меня есть следующая структура, где число имен (.name
) в .list
является динамическим.Чего я хотел бы добиться, так это когда содержимое (в зависимости от n из .names) длиннее фиксированной высоты .parent
, и оба .children
помещаются в .parent
(наследовать высоту).Нехватка места была бы решена с помощью .list
получения полосы прокрутки (overflow:auto
).
Наследование по высоте хорошо работает с одним ребенком, но у меня огромные проблемы, когда их два или более.
![enter image description here](https://i.stack.imgur.com/TkHFz.png)
JSFIDDLE ЗДЕСЬ
HTML
<div id="grandparent">
<div id="parent">
<div id="list" class="children">
<div class="name">john</div>
<div class="name">mike</div>
<div class="name">jack</div>
<div class="name">terry</div>
</div>
<div id="footer" class="children">
<div>footer</div>
</div>
</div>
</div>
CSS
body, html {
margin: 0;
width: 100%;
height: 100%;
}
div {
box-sizing: border-box;
}
#grandparent {
background-color:yellow;
display:flex;
align-items:center;
width:100%;
height: 100%;
flex: 1;
}
.children, .children div {
padding: 5px;
}
.children {
max-height: inherit;
}
.children div {
width: 100%;
max-height: inherit;
}
#list {
overflow: auto;
padding-bottom:0;
}
#footer {
padding-top:0;
}
.name {
background-color: green;
}
#footer div {
background-color: pink;
}
#parent {
background-color: blue;
margin: 0 auto;
max-height: 100px;
}
PS извините за ошибки в коде, я просто тестировал различные варианты.