需求:
在item中实现布局预期效果为:左侧一个正圆形的用户头像,右侧的上方为该用户昵称、下方为个性签名(单行显示,超出实际能显示的最大宽度则用‘...’代替)。如图:
代码:
wxml布局:
<view class="member-item">
<image class="avatar" src=""></image>
<view class="info">
<view class="name">姓名</view>
<view class="signature">这个人很懒,什么都没写。这个人很懒,什么都没写。</view>
</view>
</view>
wxss样式:
.member-item {
margin-top: 1px;
padding: 15rpx 30rpx;
display: flex;
flex-direction: row;
background-color: white;
width: auto;
}
.avatar {
background-color: whitesmoke;
width: 96rpx;
height: 96rpx;
border-radius: 50%;
}
.info {
display: flex;
flex-direction: column;
margin-left: 30rpx;
flex: 1;
}
.name {
font-size: 30rpx;
color: #333;
line-height: 48rpx;
}
.signature {
font-size: 28rpx;
color: #888;
line-height: 48rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
效果:
问题:
为了自适应屏幕大小,这里父布局采用flex,展示个性签名的view对应的class为signature,其中我通过“overflow: hidden; text-overflow: ellipsis; white-space: nowrap;”来实现单行显示,超出实际能显示的最大宽度则用‘...’代替的效果。但是在实际效果如上图所示,当内容超出实际可显示宽度时,挤压推出左侧布局以显示signature中的内容,导致左侧布局的变形甚至被挤出。
解决办法:
在signature的父布局info中添加样式min-width: 0;
即可解决。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。