关于css:button内flex垂直居中竟然不居中

48次阅读

共计 514 个字符,预计需要花费 2 分钟才能阅读完成。

问题形容

按钮款式为图标 + 文字,在应用 flex 布局写垂直居中时,iphone7 手机上文字和图标却没有居中,居左显示。代码如下(已精简):

<button>
  <img src="./refresh.png" alt />
  {{confirmButtonText}}
</button>

...
button {
  display: flex;
  align-items: center;
  justify-content: center;
  img {
      width: 36px;
      height: 36px;
      display: inline-block;
  }
}

预期款式:

理论款式:

解决形式

给 icon 和文字外再包一层标签,给外层标签设置 flex 垂直居中款式,代码如下:

<button>
  <span class="wrap">
     <img src="./refresh.png" alt />
      {{confirmButtonText}}
  </span>
</button>

...
button {
   display: flex;
   align-items: center;
   justify-content: center;
  .wrap {
      img {
          width: 36px;
          height: 36px;
          display: inline-block;
      }
  }
}

正文完
 0