Vant Cell的内容为什么总是撑开父容器?
在用Vant的Cell组件做卡片布局时,发现Cell的内容区域总是撑开父容器的高度,设置了flex:1也不管用。比如下面这样:
<div class="card-container" style="height: 100px">
<van-cell title="标题">
<view slot="default">很长很长的内容很长很长的内容</view>
</van-cell>
</div>
尝试给.cell类加了overflow:hidden和white-space:nowrap,文字倒是隐藏了但内容区域高度还是撑开,父容器高度设置完全失效…
试试这样改:
van-cell本身会带个内边距,slot插槽的内容会撑开它。所以三个关键点:
父容器用flex布局,并固定高度
van-cell加flex:1和overflow:hidden
插槽内容加overflow:hidden和white-space:nowrap
这几个样式要同时加,缺一个都会撑开。你之前只给.cell类加样式,可能漏掉了van-cell自身的样式控制。
改一下就行,给父容器和 Cell 加上这些样式:
关键点:
1. 父容器要用
display: flex并加上align-items: center2. Cell 的内容区域
.van-cell__value要显式设置white-space: nowrap和overflow: hidden这样就不会撑开高度了,内容超出还会自动省略号显示。Vant 这种坑我也是踩过几次了,每次都要重新调试一番...