微信小程序根据wx.getSystemInfo获取屏幕尺寸,并动态改变元素宽高尺寸,示例

通过js获取屏幕尺寸,并改变元素尺寸

效果图

在这里插入图片描述

index.wxml

<view class="body-view" style="width:{{wWidth}}rpx; height:{{wHeight}}rpx;">
  <view class="top-view" style="width:{{topWidth}}rpx; height:{{topHeight}}rpx;">
    <view class="welcome_title">欢迎使用XXX小程序</view>
  </view>
  <view class="middle-view" style="width:{{middleWidth}}rpx; height:{{middleHeight}}rpx;">
    <view class="welcome_text">正在开发,欢迎来访。。。</view>
  </view>
  <view class="bottom-view" style="width:{{bottomWidth}}rpx; height:{{bottomHeight}}rpx;">
    <button type="primary" class="shouquan_btn" bindtap="shouquan">授权使用</button>
  </view>
</view>

index.js

Page({
  data:{
    openid:"",
    wHeight:null,
    wWidth:null,
    topHeight:null,
    topWidth:null,
    middleHeight:null,
    middleWidth:null,
    bottomHeight:null,
    bottomWidth:null,
  },
  //页面显示事件
  onShow(){
    this.get_window_size();
  },
  //获取窗口尺寸
  get_window_size(){
    let that = this;
    // 获取系统信息
    wx.getSystemInfo({
      success: function (res) {
        // 获取可使用窗口宽度
        let clientHeight = res.windowHeight;
        // 获取可使用窗口高度
        let clientWidth = res.windowWidth;
        // 算出比例
        let ratio = 750 / clientWidth;
        // 算出高度(单位rpx)
        let height = clientHeight * ratio;
        // 设置高度
        that.setData({wHeight: height});
        that.setData({wWidth: 750});

        that.setData({topHeight: height*0.15});
        that.setData({topWidth: 750});

        that.setData({middleHeight: height*0.7});
        that.setData({middleWidth: 750});

        that.setData({bottomHeight: height*0.15});
        that.setData({bottomWidth: 750});
      }
    });
  }
})

index.css

.body-view{ float: left; }
.top-view{float:left;}
.middle-view{ float:left; }
.bottom-view{ float: left; text-align: center; }

.top-view .welcome_title{ float:left; width:100vw; height: 15vw; text-align: center; font-size: 1.5rem;line-height: 15vw;}
.middle-view .welcome_text{ margin-left: 5vw; width:90vw; text-align: left; font-size: 1.0rem; line-height: 10vw;}
.bottom-view .shouquan_btn { margin:auto; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

one312

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值