Я хочу создать запас над моей учетной записьюOrderButton, чтобы ее можно было центрировать по вертикали. Я пытаюсь вычислить половину высоты родительского div минус половина высоты дочерних divs.CSS% для вертикального поля, основанного на ширине вместо высоты
Это должно центрировать кнопку, однако линия «margin-top: calc (50%)»; в моем CSS вместо этого возвращается ширина родительского div. Как получить высоту?
HTML
<div id="accountOrder">
<div id="accountOrderButton">
Order Now!
</div>
</div>
CSS
#accountOrder {
width: 400px;
float: left;
height:100%;
text-align: center;
}
#accountOrderButton {
width: 100px;
height: 20px;
margin: 0 auto;
margin-top: calc(50%); <---- returns width instead of height
padding: 20px;
background-color: <?php echo $data['secondary_color']; ?>;
border-radius: 10px;
}
https://www.w3.org/TR/CSS21/box.html#margin-properties: _ "Процент рассчитывается по отношению к ** ширине ** блока сгенерированного блока. ** Обратите внимание, что это верно и для «margin-top» и «margin-bottom». ** «_ - То, что вы хотите, невозможно использовать только с помощью CSS. Но есть множество других способов сосредоточить элементы, так что некоторые исследования ... https://css-tricks.com/centering-in-the-unknown/, https://css-tricks.com/centering-css-complete -guide/ – CBroe
Также обратите внимание, что 'calc (50%)' не вычисляет * ничего вообще * и идентичен '50%'. – connexo