前言:
使用uniapp做的h5页面,在PC端显示时,发现由于rpx单位计算基准值太大,导致页面排版布局错乱
思路:
刚开始发现使用px单位不会导致页面布局混乱,但这对刚开启的项目友好,对已经成型的项目修改成本太高,风险也大,而且px是固定单位,在移动端显然没rpx好使;
今天去官方社区逛了一圈,发现有大神已经提出PC端适配方案了,就几句代码就OK了,突然发现我真是蠢啊,┭┮﹏┭┮
新建一个,随便找个地方放着,内部代码如下(变量sw值的设置,你们觉得怎么好看怎么来吧,下面的是我根据我的感觉设置的,适配到8K屏幕了):
(function (){
var u = ,
w = ;
if (!(/AppleWebKit.*Mobile.*/) || ('iPad') > -1) {
var sw = w*576/1920;
= sw<375?375:sw;
= function() {
= w;
}
}
})();
然后再里面引入
注意,一定要在App实例引入前引入,不然无效!!!
1 2 3 |
|
这样做的好处是刷新页面时,页面之前的栈还在,不会像用iframe那样刷新后就回到首页;
修改成下面这样, PC端样式就可以实现1upx = 1rpx = 1px;这样非常方便的1:1还原设计图了
当然如果你的设计图不是1920,比如是1366,那下面就改成这样 = 750*(w / 1366);
(function (){
var u = ,
w = ;
if (!(/AppleWebKit.*Mobile.*/) || ('iPad') > -1) {
= 750*(w / 1920);
= function() {
= w;
}
}
})();
tabbar的适配可以通过下面这种方式来进行进行
html, body, .uni-tabbar, .uni-page-head {
max-width: 1000 rpx;
background-color: white;
margin: 0 auto;
}
以上内容就是uniapp对H5的PC端兼容方法,并且不会影响微信小程序和H5的移动端
欢迎大家关注我的公众号「踏浪而行生活圈」,这里不仅有更多好玩的内容,还会同步更新 踏浪而行 最新资讯,让你时刻掌握科技前沿,快来加入我们吧!