如图所示,
当本行只有一行时,文字垂直居中, 当有两行文字时,同样使文字垂直居中,如何做到呢?
PS: 不用flex.
先看效果图然后是代码实现
<style> .message-box{ width: 500px; height: 500px; background: #333; } .message-item{ background: #666; padding: 20px; width: 100%; height: 100px; display: table; box-sizing: border-box; } .item-title{ width: 60%; margin: 0; display: table-cell; vertical-align: middle; } .item-time{ width: 40%; margin: 0; display: table-cell; vertical-align: middle; text-align: right; } </style> <p class="message-box"> <p class="message-item"> <p class="item-title">课程下单成功</p> <p class="item-time">2017-02-01 10:30</p> </p> <p class="message-item"> <p class="item-title">您报名的活动即将开始【作品集日-一起来看展】</p> <p class="item-time">2017-02-01 10:30</p> </p> </p>
从你的布局来看,应该是这样的:左边的文字与右边时间都垂直居中。一个简单的方法就是:如布局:<p><span>gfghghg</span><span>2017-12<s/pan></p>css:p{display: table;}span{display: table-cell; vertical-align: middle;}
可以试下
包含了各种解决方案,传送门
雷雷
<p class="" style="display: table;height: 100px;">
雷雷 雷雷
根据你提供的图来看,每一条内容都是定高的,所以设置最外层父元素line-height等于自身高度 里面的p标签 display:inline-block;vertical-align: middle;代码结构
<ul> <li> <p></p><span></span> </li> <li> <p></p><span></span> </li> <li> <p></p><span></span> </li> </ul>
可以看下我总结的这些方法。传送门题主需要的就是多行文字垂直居中的方法吧。我总结的文章里面有典型的方法可以实现,例子如下。http://codepen.io/zengkan0703...不知道是题主踩的我的答案吗?如果是,我希望能回答我为什么。如果不是,上面的例子应该能解决你的需求。
先看效果图
然后是代码实现
从你的布局来看,应该是这样的:左边的文字与右边时间都垂直居中。
一个简单的方法就是:如
布局:<p><span>gfghghg</span><span>2017-12<s/pan></p>
css:
p{display: table;}
span{display: table-cell; vertical-align: middle;}
可以试下
包含了各种解决方案,传送门
雷雷
<p class="" style="display: table;height: 100px;">
雷雷雷雷 雷雷
根据你提供的图来看,每一条内容都是定高的,所以设置最外层父元素line-height等于自身高度 里面的p标签 display:inline-block;vertical-align: middle;
代码结构
可以看下我总结的这些方法。传送门
题主需要的就是多行文字垂直居中的方法吧。我总结的文章里面有典型的方法可以实现,例子如下。
http://codepen.io/zengkan0703...
不知道是题主踩的我的答案吗?如果是,我希望能回答我为什么。如果不是,上面的例子应该能解决你的需求。