Con il seguente HTMLeCSS
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
</div>
L'interno divoccupa l'intera testa del contenitore come desiderato. Se ora aggiungo un altro flusso di contenuto al contenitore come:
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur mollitia maxime facere quae cumque perferendis cum atque quia repellendus rerum eaque quod quibusdam incidunt blanditiis possimus temporibus reiciendis deserunt sequi eveniet necessitatibus
maiores quas assumenda voluptate qui odio laboriosam totam repudiandae? Doloremque dignissimos voluptatibus eveniet rem quasi minus ex cumque esse culpa cupiditate cum architecto! Facilis deleniti unde suscipit minima obcaecati vero ea soluta odio cupiditate
placeat vitae nesciunt quis alias dolorum nemo sint facere. Deleniti itaque incidunt eligendi qui nemo corporis ducimus beatae consequatur est iusto dolorum consequuntur vero debitis saepe voluptatem impedit sint ea numquam quia voluptate quidem.
</div>
Quindi il contenitore scorre come desiderato, tuttavia l'elemento in posizione assoluta non è più ancorato al fondo del contenitore ma si ferma al fondo visibile iniziale del contenitore. La mia domanda è; c'è un modo per fare in modo che l'elemento assolutamente posizionato sia l'intera altezza di scorrimento del suo contenitore senza utilizzarlo JS?
top: 0;semplicemente non funziona più.
innerHeight, sarà difficile. Sfortunatamente position:fixednon funziona all'interno del container perché è fuori dal flusso, quindi questa 'soluzione alternativa' non funzionerebbe anche :(