Ho un layout con scorrimento verticale. Uno degli elementi figlio all'interno del div scorrevole è posizionato in modo assoluto con un grande valore superiore, inducendo una barra di scorrimento verticale sul genitore. Il div padre scorrevole dispone anche di alcuni elementi div child (chiamiamoli pilastri) posizionati orizzontalmente l'uno accanto all'altro tramite posizione: assoluta e qualche valore di sinistra.Estendere un elemento di blocco per riempire l'altezza di scorrimento verticale del 100% dell'elemento principale
Ecco il markup HTML:
<div id="root" style="height: 250px; position: relative;">
<div class="stretch">
<div id="container" class="container">
<div id="pillar1" style="left: 0.0%; width:33.25%;" class="pillar" ></div>
<div id="pillar2" style="left: 33.05%; width:33.25%;" class="pillar" ></div>
<div id="pillar3" style="left: 66.05%; width:33.25%;" class="pillar" ></div>
<div id="fixed-and-not-movable" style="background: blue; width: 25px; height: 25px; top:350px; left: 150px; position: absolute;">
</div>
</div>
e CSS:
.stretch {
bottom: 0;
left: 0;
right: 0;
top: 0;
position: absolute;
height: auto;
width: auto;
}
.container {
border: 2px solid;
bottom: 0;
left: 0;
right: 0;
top: 0;
overflow-x: hidden;
overflow-y: scroll;
position: absolute;
}
.pillar {
border: 1px dotted red;
bottom: 0;
height: 100%;
position: absolute;
top: 0;
}
Voglio che i div pilastro di catturare l'intera altezza di scorrimento del "contenitore" genitore. Al momento la loro altezza è l'altezza del cliente dei genitori (non l'altezza di scorrimento). Quindi quando scorri verso il basso noterai che i pilastri non riempiono tutta l'altezza disponibile all'interno del troppo pieno: scorrere.
Qualcuno può suggerire modifiche alle classi CSS (.container
e/o .pillar
) per farlo funzionare.
Ecco un link per violino js che mostra lo stesso problema: http://jsfiddle.net/AshwinPrabhuB/2o5whkmq
Grazie!
Ho davvero dubbi sul fatto che esista una soluzione di css pura (la follia del posizionamento), potrebbe esserci un altro modo per farlo se è possibile spiegarne l'utilizzo. altrimenti, credo che dovrai aspettare e iniziare una taglia e vedere. – Stickers
@sdcr Posso scavalcare il mio modo di uscire da questo problema (come questo: http://jsfiddle.net/AshwinPrabhuB/2o5whkmq/9/), ma solo come ultima risorsa se non esiste una soluzione CSS non hacky. –
Domanda simile: http://stackoverflow.com/questions/14498518/css-absolute-positioned-dialog-and-100-heighted-div?rq=1 –