单行文本与多行文本垂直居中?

clipboard.png

手机端三个块的高度一样,并且文本垂直居中

我试过用line-height、position都不行

尽量用css,兼容ie8、9

clipboard.png

clipboard.png

阅读 5.3k
3 个回答

我觉得最稳的还是table

<style>
  * {
    padding: 0;
    margin: 0;
  }
  html, body {
    width: 100%;
    height: 100%;
  }
  .box {
    width: 100%;
    height: 200px;
    background-color: #ec5151;
  }
  .box > div {
    display: table;
    width: 100%;
    height: 100%;
  }
  .box > div > span {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
</style>
<body>
  <div class="box">
    <div>
      <span>3306</span>
    </div>
  </div>
</body>

预览如图片所示图片描述

li下加个空span.xxxx

.xxxx{
    display: inline-block;   
    width: 0;
    height: 100%;
    vertical-align: middle;
}

试试

父元素 display: table;
子元素 display: table-cell;vertical-align: middle;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题