app嵌套html5用flex,uniapp flex布局上的问题

博主在实践中遇到一个关于Flex布局的疑问,当项目宽度总和比容器宽度多0.1px时,预期最后一个项目应换行,但实际并未发生。问题在将单位从upx转换为px后得到解决,推测可能是upx转换为px时的精度误差导致。博主对此感到困惑,期待有经验者指教。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flex布局中的一些疑惑,代码如下:

A

B

C

D

E

css如下:

.container{

display: flex;

flex-flow: row wrap;

justify-content: flex-start;

width: 750upx;

height: 1080upx;

}

.item1{

/*项目1的宽度设置为<=152.3upx,都不会出现换行;设置为152.4upx才出现了换行*/

width: 150upx;

height: 150upx;

background-color: blue;

}

.item2{

background-color: green;

width: 150upx;

height: 150upx;

}

.item3{

background-color: red;

width: 150upx;

height: 150upx;

}

想问下,这5个项目在主轴上应该是排列不下,最后一个项目会换行的对吧?

我理解的是,容器内的第一个项目在容器内的宽度为:152upx;

其余4个项目在容器内所占据的宽度为:600upx;

752upx > 750upx;所以最后一个项目应该换行才对。

我这样理解对吗?

—但是测试发现,居然还能排列在一个主轴内,只有当第一个项目的宽度大于152.3upx的时候,最后一个项目才会换行。

·回复

我把容器和项目的宽度单位都换成px,就完全没有这个问题了。项目宽度之和比容器宽度多出0.1px都会换行。是upx换算成px的时候,存在小数部分的误差导致的问题???不是很懂或是理解不到位,暂时搁置,有时间再琢磨吧。如有遇到类似问题的明白人请路过指教,多谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值