小程序进入页面时图片拉伸变形优化方案
发表于:2021-07-03 23:27:47浏览:4972次
小程序从接口请求过来的图片,大部分图片大小不是固定一个比例的,如果全部渲染显示在页面上,会有1到2秒的拉伸,从大到小快速闪下变形的问题,影响用户体验。
解决方法:
使用image的mode图片剪裁缩放模式,用mode='widthFix'(宽度不变,高度自动变化,保持原图宽高比不变),然后在图片的css里加上height:auto;min-height:30rpx;加个min-height可以撑开一点距离,可以消除渲染拉伸变形一闪而过的bug。
具体示例代码如下:
<image src='...' style='width:100%;height:auto;min-height:30rpx;' mode='widthFix'></image>
补充知识
image的mode有13种模式,4种是缩放模式,9种是剪裁模式。
1、缩放模式:
scaleToFill——不保持纵横比缩放图片,使图片宽高完全拉伸至image元素
widthFix——保持宽度固定,高度自动变化,意思保持原图宽高比
aspectFit——保持纵横比缩放图片,使得长边露出,意思是能完全展示图片
aspectFill—— 保持纵横比缩放图片,使得短边露出,意思是一个方向是完整的,另一个方向会发生截取
2、剪裁模式:
top——不缩放,只显示顶部
bottom——不缩放,只显示底部
center——不缩放,只显示中间
left——不缩放,只显示左边
right——不缩放,只显示右边
top right——不缩放,只显示右上
top left——不缩放,只显示左上
bottom left——不缩放,只显示左下
bottom right——不缩放,只显示右下
推荐文章
- 用好CSS的clamp()这个新特性,轻松实现响应式布局,特别是移动端
- ThinkPHP6伪静态设置并隐藏默认模块名,如home
- 有了css变量这个神器,写css再也不需要less和sass了
- ThinkPHP6获取数据库内所有表的表名及表信息
- 电商网站商品的推广分销的的流程图
- 微信推出输入法,打个字竟然需要508MB内存?说好的小而美呐?
- 企业数字化、信息化是发展的必然趋势,常见的企业信息化、数字化系统有哪些?
- PHP中mysqli_select_db与mysqli_query函数的用法举例
- 图解设置二级、三级域名泛解析,部署saas系统
- ThinkPHP6多条件搜索查询,表达式查询 FIND_IN_SET查询

