<acronym id="e01da"></acronym>
<optgroup id="e01da"><i id="e01da"><del id="e01da"></del></i></optgroup>
<span id="e01da"></span>

<wbr id="e01da"><source id="e01da"></source></wbr>
    <wbr id="e01da"></wbr>

    1. <ol id="e01da"><source id="e01da"></source></ol>
        <progress id="e01da"></progress>

        一聚教程网:一个值得你收藏的教程网站

        最新下载

        详解vue中移动端自适应方案

        时间:2019-05-05 17:23:54 编辑:猪哥 来源:转载

        方案1:

        直接引入js  (自己 写的动态改变fontsize的js)

        function htRem() {
        	  var ww = document.documentElement.clientWidth;
        	  if (ww > 750) {
        	    ww = 750;
        	  }
        	  document.documentElement.style.fontSize = ww / 7.5 + "px";
        	}
        	htRem();
        	window.onresize = function() {
        	  htRem();
        	};
        

        在main.js中import引入即可
        方案二:手淘的 lib-flexible + rem

        配置 flexible

        安装 lib-flexible

        在命令行中运行如下安装:

        npm i lib-flexible --save

        引入 lib-flexible

        在项目入口文件 main.js 里 引入 lib-flexible

        // main.js
        import 'lib-flexible'

        添加 meta 标签

        在项目根目录的 index.html 中添加如下 meta

        px 转 rem

        实际开发中,我们通过设计稿得到的值单位是 px,所以要将 px 转换成 rem 再写进样式中。
        将 px 转换成 rem 我们将使用 px2rem 这个工具,它有 webpack 的 loader:px2rem-loader

        安装 px2rem-loader

        在命令行中运行如下安装:

        npm i px2rem-loade --save-dev

        配置 px2rem-loade

        在 vue-cli 生成的 webpack 配置中,vue-loader 的 options 和其他样式文件 loader 最终是都是由 build/utils.js 里的一个方法生成的。

        我们只需在 cssLoader 后再加上一个 px2remLoader 即可,px2rem-loader 的 remUnit 选项意思是 1rem=多少像素,结合 lib-flexible 的方案,我们将 px2remLoader 的 options.remUnit 设置成设计稿宽度的 1/10,这里我们假设设计稿宽为 750px。

        // utils.js
        var cssLoader = {
        loader: 'css-loader',
        options: {
        minimize: process.env.NODE_ENV === 'production',
        sourceMap: options.sourceMap
        }
        }
        var px2remLoader = {
        loader: 'px2rem-loader',
        options: {
        remUnit: 75
        }
        }
        // ...
        

        并放进 loaders 数组中

        // utils.js
        function generateLoaders(loader, loaderOptions) {
        var loaders = [cssLoader, px2remLoader]
        // ...

        修改配置后需要重启,然后我们在组件中写单位直接写 px,设计稿量多少就可以写多少了,舒服多了。

        文章评论

        热门栏目

        看今晚67期开什么特马 崇左市| 宝坻区| 平度市| 长沙市| 郑州市| 梓潼县| 澄迈县| 西贡区| 美姑县| 炉霍县| 蒙阴县| 屯留县| 阿图什市| 潮安县| 葫芦岛市| 龙川县| 长子县| 筠连县| 安化县| 广东省| 祁阳县| 兴化市| 南安市| 星子县| 临泉县| 平江县| http://vbbhih.cn 凌云县| 抚远县| 图们市| 岚皋县| 岳阳市| 阳西县| 洪洞县| 富民县| 常宁市| 区。| 凯里市| 嘉黎县| 德阳市| 梅州市| 鹿泉市| 兴海县| 宜君县| 敖汉旗| 长春市| 迁西县| 同心县| 德阳市| 车险| 内丘县| 柘荣县| 无棣县| 江城| 巴林右旗| 昌平区| http://www.hmhwfc.cn 阳泉市| 井冈山市| 青阳县| 弥勒县| 泰宁县| 平山县| 兴山县| 柳州市| 上饶市| 连江县| 临澧县| 平南县| 会理县| 赤峰市| 射阳县| 旺苍县| 柳江县| 正阳县| 普兰县| 吉木乃县| 额济纳旗| 忻州市| 治多县| 桃江县| 营山县| 长寿区| 五指山市| 巫溪县| 博罗县| 枝江市| 齐齐哈尔市| 红河县| 信阳市| 鸡西市| http://agLvqu.cn 青海省| 乐陵市| 新竹市| 通山县| 沙田区| 孙吴县| 台安县| 屏山县| 澄迈县| 嘉义市| 金川县| 依安县| 张家口市| 宜兰市| 宝鸡市| 重庆市| 托里县| 休宁县| 汪清县| 尼木县| 芒康县| 仁寿县| 砀山县| 平舆县| 资源县| 德格县| 青海省| 西昌市| 额济纳旗| http://www.heLxht.cn 本溪市| 临湘市| 邮箱| 洛宁县| 博野县| 蒙城县| 太白县| 闸北区| 海淀区| 宜春市| 克拉玛依市| 屏南县| 遵义县| 正定县| 巨野县| 佛冈县| 永川市| 天峨县| 会泽县| 大冶市| 霸州市| 白山市| 监利县| 怀远县| 江都市| 卓尼县| 松溪县| 鲁甸县| 元阳县| http://hmhwfc.cn 阿克苏市| 右玉县| 神池县| 宜兰市| 苍梧县| 涟源市| 登封市| 临泽县| 马山县| 时尚| 沅陵县| 大关县| 城固县| 屯留县| 攀枝花市| 台东县| 灌阳县| 永城市| 萝北县| 通州市| 阿克苏市| 双城市| 同江市| 阜新| 邵东县| 司法| 万年县| 青铜峡市| http://www.optgyL.cn 海阳市| 乐平市| 明光市| 深州市| 涿州市| 长子县| 象州县| 会泽县| 吴旗县| 香港| 苗栗市| 达尔| 鄢陵县| 临海市| 盱眙县| 敦化市| 锡林浩特市|