在上面的代码中,按钮应该居中,但它仍然保留在左侧。
.promo .promo_btn{
width:259px;
margin:118px auto 0 auto;
height: 63px;
border: solid 3px rgba(0, 0, 0, 0.07);
background-image: linear-gradient(to top, #1eacc7, #4ce2ff);
text-align: center;
color: #ffffff;
border-radius: 5px;
}
但是,如果您将显示更改为阻止,一切都会开始工作。
.promo .promo_btn{
display: block;
width:259px;
margin:118px auto 0 auto;
height: 63px;
border: solid 3px rgba(0, 0, 0, 0.07);
background-image: linear-gradient(to top, #1eacc7, #4ce2ff);
text-align: center;
color: #ffffff;
border-radius: 5px;
}
为什么会有这样的矛盾?如果它是一个 inline-block 元素,那么 margin 应该可以工作,但在这里它不想,给它 display : block 。有些双重标准。


CSS2的规范说:
也就是说,因为
inline-block该值margin: auto将被简单地视为零。标准不是双重的,而只是针对每种情况而不同。这是无处不在的。它们
margin有许多不同的,例如,您可以说垂直居中,给予display: flex或display: grid来自父母。