I have the following HTML and CSS code:
html, body, #root {
height: 100%;
overflow: hidden;
}
body {
background-color: green;
}
#root {
text-align: center;
background-color: white;
padding-top: 6px;
padding-bottom: 6px;
overflow: hidden;
min-width: 320px;
}
.parent {
display: inline-block;
text-align: left;
height: 100%;
border-radius: 0.4em;
overflow: hidden;
font-size: 1em;
line-height: 1em;
width: 300px;
}
.header {
position: relative;
height: 3em;
display: flex;
align-items: center;
background-color: gray;
box-shadow: 0 1px 2px black;
z-index: 10;
}
.container {
overflow-y: scroll;
height: 100%;
}
<html>
<body>
<div id="root">
<div class="parent">
<div class="header">This is the header</div>
<div class="container">
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
<div class="entry">Text</div>
</div>
</div>
</div>
</body>
</html>
As you can see, there is a problem with the scrollbar for "container". I would like it to be exactly 100% of the area available to that container, but somehow it understands this height as 100% of available screen space. What is the correct approach here to get this right?