我希望在我的accountOrderButton上創建邊距,以便它可以垂直居中。我正在計算父div的一半高度減去子div高度的一半。基於寬度而不是高度的垂直邊距的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