object-fit:cover;在小程序中不起作用,小程序图片变形了如何处理


前几天写了一篇文章 css防止图片变形 object-fit: cover;

使用object-fit: cover;来防止图片变形,说巧也巧,这两天自己开发玩玩的zblog小程序“污污情话”封面刚好被挤压变形,于是,就给图片添加了这个css属性。

what?但是添加了并没有任何卵用,刚开始我还以为我自己记错拼写了,还特意复制过来试了下,还是没有任何作用......


截图小程序页面先看看对比效果吧,左侧的轮播图是被挤压变形了,而右侧轮播图是没有被挤压变形,保留原始尺寸,多余的被裁剪,很明显右侧的视觉效果是比较好一些的。


就这......简单安排下


查了下小程序文档,原来微信小程序图片不支持这些css属性了,官方提供了自己的方法,只需要给image标签添加mode属性即可,在对应上对应的参数即可完美解决。

语法

<image src="http://cdn.duanqinghua.com/duanqinghua/img/65.jpg" mode="aspectFill"></image>

mode的合法值

说明
scaleToFill缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变
top裁剪模式,不缩放图片,只显示图片的顶部区域
bottom裁剪模式,不缩放图片,只显示图片的底部区域
center裁剪模式,不缩放图片,只显示图片的中间区域
left裁剪模式,不缩放图片,只显示图片的左边区域
right裁剪模式,不缩放图片,只显示图片的右边区域
top left裁剪模式,不缩放图片,只显示图片的左上边区域
top right裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right裁剪模式,不缩放图片,只显示图片的右下边区域

Bug & Tip

tip:image组件默认宽度320px、高度240px

tip:image组件中二维码/小程序码图片不支持长按识别。仅在wx.previewImage中支持长按识别


官方文档https://developers.weixin.qq.com/miniprogram/dev/component/image.html


好啦!好啦!不要在私聊鹏仔来要这个壁纸了!自行右击保存吧!


本文链接:https://my.lmcjl.com/post/20123.html

展开阅读全文

4 评论

留下您的评论.