Eu estava estourando meu cérebro sobre a criação de um alinhamento vertical em css usando o seguinte
.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>
Embora isso parecesse funcionar para este caso, fiquei surpreso que, quando aumentava ou diminuía a largura da minha base div, o alinhamento vertical se encaixava. Eu esperava que, ao definir a propriedade padding-top, o padding fosse considerado como uma porcentagem da altura do contêiner pai, que é a base do nosso caso, mas o valor acima de 50% é calculado como uma porcentagem da largura. :(
Existe uma maneira de definir o preenchimento e / ou margem como uma porcentagem da altura, sem recorrer ao JavaScript?
top
funciona muito bem para redimensionar com base na altura do navegador / janela. Que tal ter um div embaixo desse div? Como você podeclear
o 2º div estar abaixo do div que é deslocado para baixo por umtop:50%
??