Mi ero scervellato per creare un allineamento verticale in CSS usando quanto segue
.base{
background-color:green;
width:200px;
height:200px;
overflow:auto;
position:relative;
}
.vert-align{
padding-top:50%;
height:50%;
}
<!-- and used the following div structure. -->
<div class="base">
<div class="vert-align">
Content Here
</div>
</div>
Mentre questo sembrava funzionare per questo caso, sono rimasto sorpreso dal fatto che quando ho aumentato o diminuito la larghezza del mio div base, l'allineamento verticale si spezzasse. Mi aspettavo che quando avessi impostato la proprietà padding-top, avrei preso il padding come percentuale dell'altezza del contenitore padre, che è base nel nostro caso, ma il valore sopra del 50 percento viene calcolato come percentuale del larghezza. :(
C'è un modo per impostare l'imbottitura e / o il margine come percentuale dell'altezza, senza ricorrere all'utilizzo di JavaScript?
top
funziona alla grande per il ridimensionamento in base all'altezza del browser / finestra. Che ne dici di avere un div sotto quel div? Come puoiclear
il 2 ° div essere sotto il div che viene spostato verso il basso di untop:50%
??