怎么水平垂直对齐多行文本?

给P标签加上line-height 一行文本可以对齐,但是多行的话就不行了,这个怎么解决?不要添加额外的标签,由于兼容IE8,只能用css了

<div class="dv">
  <p>123</p>
  <p>123</p>
  <p>123</p>
</div>

 <style>
    .dv{
        width: 500px;
        height: 200px;
        background-color: pink;
        margin: 0 auto;
    }
    p{
        line-height: 200px; 
    }
</style>
阅读 3.5k
4 个回答

转化为块状行内元素(display:inline-block),然后使用vertical-align:middle;

楼上正解,本来想写的···还是自己琢磨吧,原理都说出来了

.dv {
  width: 500px;
  height: 200px;
  background-color: pink;
  margin: 0 auto;

  display: table-cell;
  vertical-align: middle;
}
p {
  //line-height: 200px;
  
  vertical-align: middle;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题