Я ламав мізки над створенням вертикального вирівнювання в css, використовуючи наступне
.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>
Хоча це, здавалося, спрацювало в цьому випадку, я був здивований, що коли я збільшую або зменшую ширину мого базового діва, вертикальне вирівнювання буде коротким. Я очікував, що коли я встановлю властивість padding-top, це буде сприймати як відсоток від висоти батьківського контейнера, що є базовим у нашому випадку, але вищевказане значення 50 відсотків обчислюється як відсоток від ширина. :(
Чи є спосіб встановити прокладку та / або запас у відсотках від висоти, не вдаючись до використання JavaScript?
top
відмінно підходить для зміни розміру на основі висоти браузера / вікна. Як щодо того, щоб під цим дівом не було діва? Як ти можеш,clear
щоб другий дів опинився під дівом, який зміщується внизtop:50%
??