DCloud_UNI_GSQ
DCloud_UNI_GSQ
  • 发布:2020-10-16 11:42
  • 更新:2024-11-05 16:23
  • 阅读:10216

更新 HBuilderX 2.9.0+ 后 rpx(upx)、rem 样式变形的处理办法

分类:uni-app

使用 rem 的部分变形

HBuilderX 2.9.0+ 相关更新:调整根字体大小为系统默认大小与微信小程序平台一致

调整后 rem 默认大小不再为 窗口宽度/20,改为了浏览器(webview)默认的字体大小,一般为 16px

对于历史项目如需不改动代码保持原来的样式可以参考如下操作:

App

编辑 __uniappview.html 文件(路径:/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/template/v3/__uniappview.html)

<!DOCTYPE html>  
<html lang="zh-CN">  

  <head>  
    <meta charset="UTF-8" />  
    <script>  
      var __UniViewStartTime__ = Date.now();  
      document.addEventListener('DOMContentLoaded', function() {  
          document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'  
      })  
      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||  
        CSS.supports('top: constant(a)'))  
      document.write(  
        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +  
        (coverSupport ? ', viewport-fit=cover' : '') + '" />')  
    </script>  
    <title>View</title>  
    <link rel="stylesheet" href="view.css" />  
  </head>  

  <body>  
    <div id="app"></div>  
    <script src="__uniappes6.js"></script>  
    <script src="view.umd.min.js"></script>  
    <script src="app-view.js"></script>  
  </body>  

</html>

H5

项目内增加 template.h5.html 文件,并配置在 manifest.json -> h5 内 `"template" : "template.h5.html"

<!DOCTYPE html>  
<html lang="zh-CN">  

    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <title>  
            <%= htmlWebpackPlugin.options.title %>  
        </title>  
        <script>  
            document.addEventListener('DOMContentLoaded', function() {  
                document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'  
            })  
            var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))  
            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')  
        </script>  
        <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />  
    </head>  

    <body>  
        <noscript>  
            <strong>Please enable JavaScript to continue.</strong>  
        </noscript>  
        <div id="app"></div>  
        <!-- built files will be auto injected -->  
    </body>  

</html>

使用 rpx(upx) 的部分变形

HBuilderX 2.9.0+ 还新增了 rpx(upx) 的范围配置,如因 rpx(upx) 在宽屏的处理问题异常,可以设置 rpxCalcMaxDeviceWidth 为 99999,具体参考:

  • 【重要】App平台、H5平台 新增 rpx(upx) 配置,默认限定了 rpx(upx) 生效的最大屏幕宽度为 px。可在 pages.json -> globalStyle 配置 rpxCalcMaxDeviceWidth、rpxCalcBaseDeviceWidth、rpxCalcIncludeWidth 等参数 详情
0 关注 分享

要回复文章请先登录注册

夜与蚊

夜与蚊

回复 DCloud_UNI_GSQ :
按照上述说的修改__uniappview.html,还是没有解决问题....
2020-12-26 20:37
夜与蚊

夜与蚊

回复 嘟嘟灬鳕 :
你的问题解决了吗??
2020-12-26 20:26
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 john0king :
文档:https://uniapp.dcloud.io/quickstart-cli?id=%e4%bf%ae%e6%94%b9%e4%be%9d%e8%b5%96%e4%b8%ba%e6%8c%87%e5%ae%9a%e7%89%88%e6%9c%ac
2020-12-19 18:22
john0king

john0king

2.9+ 在哪啊? npm 上是 "@dcloudio/uni-h5": "^2.0.0-29820201110001",
2020-12-19 11:05
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 切克闹不闹 :
h5的话可以配置
2020-11-11 15:22
切克闹不闹

切克闹不闹

建议做成配置,我这里有打包H5项目的,每次都要改这个会很麻烦
2020-11-11 02:09
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 2***@qq.com :
测试了,未复现
2020-10-22 19:53
2***@qq.com

2***@qq.com

回复 DCloud_UNI_GSQ :
重新运行试过了,还是拿不到css文件。 你可以把你说的template.h5.html文件放到一个uniapp项目中做模板。 可以在浏览器的network中看到css文件请求失败,响应内容是:Please enable JavaScript to continue.
2020-10-22 19:39
DCloud_UNI_GSQ

DCloud_UNI_GSQ (作者)

回复 2***@qq.com :
改之前正常吗?另外重新运行试试
2020-10-22 19:35
2***@qq.com

2***@qq.com

<link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
css请求不了,提示:Please enable JavaScript to continue.

把.<%= VUE_APP_INDEX_CSS_HASH %>删除就可以了。但是没有随机哈希值,下次更新代码,这个样式文件拿的是缓存的。 我还是想加上这个哈希值
2020-10-22 19:27