我在按钮中有图像和跨度,并且尝试使用:
用align-item弯曲:居中
将跨度线高设置为与容器相同的高度
内联块和垂直对齐
但是,如果我不向图像添加1px的填充顶部,则它在div中似乎并不是真正垂直对齐的,而跨度文本看起来很好,我也不知道为什么。
的HTML
<button class="metabolite-btn">
<img src="/images/metabolite/icon_question.svg" class="metabolite-btn__image">
<span class="metabolite-btn__text">代謝物質とは</span>
</button>
的CSS
.main-wrapper {
.metabolite-btn {
width: $vw-size-115-width-375;
border-radius: 14px;
border: none;
height: 28px;
background-color: $main-color;
padding: 0 0 0 5px;
text-align: left;
cursor: pointer;
&__image {
width: $vw-size-20-width-375;
padding: 1px 0 0 0;
}
&__text {
font-size: $vw-size-12-width-375;
font-weight: bold;
color: $white;
line-height: 28px;
}
}
最佳答案
要垂直对齐两个元素,需要将display:flex
和align-items: center
添加到作为按钮的父元素(如下所示)
//CSS
button {
display: flex;
align-items: center;
}
Working Demo