flex属性中flex-shrink收缩比例,排版一行挤在一起,宽度失效
做手机页面的时候,用了flex排版布局,布局效果是想要所有内容一行显示,超出内容会滚动横向滚动条显示,然后遇到问题,flex布局的内容的设置了宽度失效了,所有内容会强制一行显示了,但是会挤在一起显示。
效果如下图:

解决办法:
设置flex-basis: 170rpx;flex-shrink: 0;主要是flex-shrink这个属性,意思是收缩比例,如果设置为0,就是不收缩了。
flex-basis: 170rpx;或设置width都可以,设置内容列表的flex-shrink:0,这样就可以正常显示了。
比如实现的效果,下面是css展示:
.tabnav-head {
display: flex;
justify-content: space-between;
line-height: 80rpx;
font-size: 30rpx;
height: 80rpx;
border-bottom: 1px solid #ccc;
overflow-x: scroll;
overflow-y: hidden;
// flex-basis: 172rpx 子容器基准大小 表示在不伸缩的情况下子容器的原始尺寸
//flex-shrink: 0 收缩比例
.nav-cell {
// flex: 1;
// width: 30%;
position: relative;
line-height: 80rpx;
text-align: center;
white-space: nowrap;
flex-basis: 170rpx;
flex-shrink: 0;
cursor: pointer;
&.selected::after {
content: "";
position: absolute;
bottom: -2rpx;
left: 0;
right: 0;
z-index: 22;
width: 60%;
margin: 0 auto;
color: #007AFF;
border-bottom: 3px solid #007AFF;
}
}
}效果:

本文作者: Jasmine
本文链接: https://www.jianbaizhan.com/article/656
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!