背景:
我想实现两列的瀑布流布局,上图下文字的形式,图片宽度充满,高度自适应,结果用image标签就出问题了(我想利用uniapp实现多端兼容,实际上发现运行在模拟器上报错在手机上就没问题,只能说是安卓版本的问题吧,可能不兼容uview2的一些组件)
我直接使用了mode=“widthFix”,外层盒子宽度是用了百分比,再在image标签上写了个width=“100%”,结果居然高度是默认高度即225px,那我这个瀑布流布局就完全没有意义了
解决方案:
后面直接定义class名加了个100%似乎就好了
补充:1、因为是自己练手项目,所以最后可以不用瀑布流,改成了image标签包裹了一个用after实现的定宽高比的盒子,图片放里面,mode值为aspectFit
2、也查了不用js实现瀑布流的方式,flex和column-count都不可取,不谈兼容性,flex并非瀑布流,column-count好像是竖着的顺序排列,之后自己用demo验证下这两种方式
3、float的方式也可以试试,还有js的定位方式,这种方式需要获取dom,我个人并不喜欢这种方式,尤其在uniapp不支持用document的方式获取dom时更难受了
4、uniapp中waterfall可以使用一下,但是似乎只能用于nvue
5、上拉加载和下拉刷新uview2中没有合适组件,scroll-view不谈性能问题,而且还要定义高度一些事件才能用,这就让我没法用了,我试着用了flex:1和高度100%来解决这个问题,但是结果是还是存在问题,在h5上只能下滑不能上滑就是个大坑了
拓展:1、需要考虑图片加载之前的骨架屏即加载中状态
2、加载错误即路径地址错误
3、加载成功后图片的变形模糊,有没有做到自适应展示区域,能完整呈现图片不管何尺寸
关于uniapp中image的坑
最新推荐文章于 2024-07-31 08:57:37 发布