关于图片 的设置

在网页开发或者小程序中,避免不了会使用到图片这一重要的元素。不论是图标,还是说展示的图片,对显示的效果都有极大的要求。

以下是自己常用的两种方法。

方法一

使用视图容器的背景图

1、一般我们给view,或者div,加背景结果都会如下吧,上截图…

2、然后我们在添加些样式

background-repeat:no-repeat;/*图像的平铺模式*/
background-size: cover;/*背景图像扩展至足够大(center、cover、100%等)*/
background-position: 50% 50%;/*背景图像的起始位置(center、100%)*/

 就成了这样

缺点:

1、在小程序中,设置view的背景图,需要使用网络地址的,不能使用本地地址,否者加载不了(还可以把图转什么64来着,但是冗余太多,果断放弃)。

2、在HTML中,需要设置兼容性 (关于兼容性,可以看看这个https://blog.csdn.net/hangge0111/article/details/81736479

-moz-background-size: 100% 100%;/*Firefox浏览器兼容*/
-webkit-background-size:100% 100%;/*Safari 和 Chrome*/    
-o-background-size:100% 100%;
background-size:100% 100%;  

方法二

使用image

(PS:我自己的话,一般只有在需要大幅度展示图案的地方,才会使用image,以下部分来源于网络)

小程序图片高度自适应

 这里踩了很多遍的坑,花了时间,以为像以前以前给他上级的盒子不给高度就行了,oh,no,这是一个坑,关键在于image标签的一个属性:mode="widthFix",简单搞定

<image src="{{item.cover}}" class='wedding_img' mode="widthFix" />

知识点:mode="widthFix"

  Widthfix : 宽度固定,高度随着图片的高度 自动变化,(根据宽度,按比例缩放高度)

  Widthfix属性的最大特点是,图片高度将不会按照设定的尺寸呈现,比如设置image宽度为700px,高度为340px,如果设置mode=widthfix,则图片最终不会按照750px和340px呈现,而是将图的宽设置为700px,高度自动,此时的宽高依旧和原图等比,如图。

 除了mode="widthFix",还有"aspectFill"、”scaleToFill“


微信开放文档中有提到

 https://developers.weixin.qq.com/miniprogram/dev/component/image.html

mode 的合法值

说明最低版本
scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素  
aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。  
aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。  
widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变(根据宽度,按比例缩放高度)  
top 裁剪模式,不缩放图片,只显示图片的顶部区域  
bottom 裁剪模式,不缩放图片,只显示图片的底部区域  
center 裁剪模式,不缩放图片,只显示图片的中间区域  
left 裁剪模式,不缩放图片,只显示图片的左边区域  
right 裁剪模式,不缩放图片,只显示图片的右边区域  
top left 裁剪模式,不缩放图片,只显示图片的左上边区域  
top right 裁剪模式,不缩放图片,只显示图片的右上边区域  
bottom left 裁剪模式,不缩放图片,只显示图片的左下边区域  
bottom right 裁剪模式,不缩放图片,只显示图片的右下边区域  
原文地址:https://www.cnblogs.com/caitangbutian/p/11330616.html