zoukankan      html  css  js  c++  java
  • 关于vue中使用rem问题

    1.下载lib-flexible

    我使用的是vue-cli+webpack,所以是通过npm来安装的

    npm i lib-flexible --save

    2.引入lib-flexible

    在main.js中引入lib-flexible

    import 'lib-flexible/flexible'

    3.安装px2rem-loader

    npm install px2rem-loader

    4.配置px2rem-loader

    在build文件中找到util.js,将px2rem-loader添加到cssLoaders中,将下面代码加进cssLoaders方法中

    复制代码
      const px2remLoader = {
        loader: 'px2rem-loader',
        options: {
          remUint: 75
        }
      }
    复制代码

    同时,在generateLoaders方法中添加px2remLoader

    复制代码
      function generateLoaders (loader, loaderOptions) {
        const loaders = [cssLoader, px2remLoader]
         
        if (options.usePostCSS) {
          loaders.push(postcssLoader)
        }
    
        if (loader) {
          loaders.push({
            loader: loader + '-loader',
            options: Object.assign({}, loaderOptions, {
              sourceMap: options.sourceMap
            })
          })
        }
    复制代码

    5、重启

    当配置完之后,重启下服务,px会自动转化为rem了

    npm run dev

    6、注意事项

    1、不能在index.html的头部加 name 为 viewport 的 meta 标签,flexible会自动为我们添加!

    2、对css中文字样式增加/* px */后缀,会编译出适应不同dpr的字号

    复制代码
    .text{
        font-size: 28px; /* px */
    }
    // 会被编译成如下:
    
    [data-dpr="1"] .text { // data-dpr是由flexible计算出来并加在html上的设备像素比
        font-size: 14px;
    }
    
    [data-dpr="2"] .text {
        font-size: 28px;
    }
    
    [data-dpr="3"] .text {
        font-size: 42px;
    }
    复制代码

    3、对边框样式增加/* no */后缀,会保持原样

    复制代码
    .box{
        border: 1px solid #fff; /* no */
    }
    // 会被编译成如下:
    .box{
        border: 1px solid #fff;
    }
    复制代码
  • 相关阅读:
    [C++]2-5 分数化小数
    [C++]2-4 子序列的和
    [C++]2-3 倒三角形
    [C++]2-2 韩信点兵
    [C++]2-1 水仙花数
    [C++]竞赛模板·数据统计与IO(重定向版与非重定向版)
    数学建模·经验小结
    信息检索·论文写作
    PPT制作
    演讲与语言表达
  • 原文地址:https://www.cnblogs.com/WangXinPeng/p/9923805.html
Copyright © 2011-2022 走看看