swiper 里的图片大小如何设置 呢? 为什么 给了高度以后就不按比例来显示呢?
参考答案一:用rpx做单位即可
-
swiper {
-
height: 300rpx;
-
}
-
-
swiper-item image {
-
width: 100%;
-
height: 100%;
-
}
rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
参考答案二:图片等比例缩放,获取屏幕尺寸图片尺寸 自适应
直接上代码吧。
index.wxml
-
<!--index.wxml-->
-
<!--图片宽大于屏幕宽-->
-
<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagefirstsrc}}" bindload="imageLoad"></image>
-
<!--图片高大于屏幕高-->
-
<!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagesecondsrc}}" bindload="imageLoad"></image>-->
-
<!--图片宽高大于屏幕宽高-->
-
<!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagethirdsrc}}" bindload="imageLoad"></image>-->
index.js
-
//index.js
-
//获取应用实例
-
var imageUtil = require('../../utils/util.js');
-
var app = getApp()
-
Page({
-
data: {
-
imagefirstsrc: 'http://bpic.588ku.com/back_pic/00/03/85/1656205138bbe2d.png',//图片链接
-
imagesecondsrc: 'http://bpic.588ku.com/back_pic/04/07/63/28581203949ca9d.jpg!/fw/400/quality/90/unsharp/true/compress/true',//图片链接
-
imagethirdsrc:'http://img1.gtimg.com/ent/pics/hv1/13/71/2061/134034643.jpg',
-
imagewidth: 0,//缩放后的宽
-
imageheight: 0,//缩放后的高
-
-
},
-
onLoad: function () {
-
},
-
imageLoad: function (e) {
-
var imageSize = imageUtil.imageUtil(e)
-
this.setData({
-
imagewidth: imageSize.imageWidth,
-
imageheight: imageSize.imageHeight
-
})
-
}
-
})
util.js
-
//util.js
-
function imageUtil(e) {
-
var imageSize = {};
-
var originalWidth = e.detail.width;//图片原始宽
-
var originalHeight = e.detail.height;//图片原始高
-
var originalScale = originalHeight/originalWidth;//图片高宽比
-
console.log('originalWidth: ' + originalWidth)
-
console.log('originalHeight: ' + originalHeight)
-
//获取屏幕宽高
-
wx.getSystemInfo({
-
success: function (res) {
-
var windowWidth = res.windowWidth;
-
var windowHeight = res.windowHeight;
-
var windowscale = windowHeight/windowWidth;//屏幕高宽比
-
console.log('windowWidth: ' + windowWidth)
-
console.log('windowHeight: ' + windowHeight)
-
if(originalScale < windowscale){//图片高宽比小于屏幕高宽比
-
//图片缩放后的宽为屏幕宽
-
imageSize.imageWidth = windowWidth;
-
imageSize.imageHeight = (windowWidth * originalHeight) / originalWidth;
-
}else{//图片高宽比大于屏幕高宽比
-
//图片缩放后的高为屏幕高
-
imageSize.imageHeight = windowHeight;
-
imageSize.imageWidth = (windowHeight * originalWidth) / originalHeight;
-
}
-
-
}
-
})
-
console.log('缩放后的宽: ' + imageSize.imageWidth)
-
console.log('缩放后的高: ' + imageSize.imageHeight)
-
return imageSize;
-
}
-
-
module.exports = {
-
imageUtil: imageUtil
-
}
|