列表标题一/两行垂直居中展示

在开发中会遇到很多list组件,例如左边一个img,右边是内容介绍。
内容介绍的最上部往往是内容的标题,标题在进行省略ellipsis设置时,需要考虑产品需求:
比如我在项目中,设计希望两行充满高度,一行则垂直居中

实现截图如下:
列表标题一/两行垂直居中展示
解决办法:

1、flex实现(需要注意ios8等系统的兼容性)

html

<div class="hd"><span>北京北京博泰酒店北京博泰酒店</span></div>
<br>
<div class="hd"><span>北京</span></div>

css

.hd {
    width: 100px;
    height: 54px;
    display: flex;
    /* 左右居中 */
    /* align-items: center; */
    /* 上下居中 */
    justify-content: center;
    flex-direction: column;
    background-color: red;
}
span {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 18px;
    color: #333;
}

2、line-height与vertical-align共同实现

html

	<div class="box">
		<div class="content">我是多多多多多多多多多多多多多多多行文本</div>
	</div>

css

	.box {
		line-height: 200px;
	}
	.content {
		display: inline-block;
		line-height: 20px;
		vertical-align: middle;
	}

注解:
1、inline-block产生一个“行框盒子”,附带“幽灵空白节点”,使得外部的line-height起作用;
2、内联元素默认基线对齐,通过vertical-align调整多行文本垂直位置。

代码参照《CSS世界》





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值