84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
如图所示,
当本行只有一行时,文字垂直居中, 当有两行文字时,同样使文字垂直居中,如何做到呢?
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...
不知道是题主踩的我的答案吗?如果是,我希望能回答我为什么。如果不是,上面的例子应该能解决你的需求。