首页 > 其他分享 >vue cli2 3 4使用lib-flexible px2rem完美解决移动端适配问题

vue cli2 3 4使用lib-flexible px2rem完美解决移动端适配问题

时间:2023-10-12 11:03:57浏览次数:34  
标签:npm vue cli2 lib px2rem 适配 flexible exclude postcss

安装 lib-flexible

$npm install lib-flexible --save
lib-fiexble, lib-flexible会自动在html的head中添加一个meta name="viewport"的标签,同时会自动设置html的font-size为屏幕宽度除以10,也就是1rem等于html根节点的font-size。假如设计稿的宽度是750px,此时1rem应该等于75px。假如量的某个元素的宽度是150px,那么在css里面定义这个元素的宽度就是 width: 2rem。但是当分辨率大于某个特定值时,它便不再生效, lib-flexible要配合postcss-px2rem-exclude一起使用

安装 postcss-px2rem-exclude

使用postcss-px2rem-exclude自动将css中的px转换成rem

$npm install postcss-px2rem-exclude --save

Vue Cli 2.x 使用方法

找到根目录中的 .postcssrc.js 添加以下代码,添加完以后重新 重启服务npm run dev就好了,在浏览器控制台就可以看到之前设置的font-size自动转换成rem了

"postcss-px2rem-exclude": {  
      remUnit: 75,
      exclude: /node_modules|folder_name/i // 忽略node_modules目录下的文件
 }

图片示例:

 

Vue Cli 3.x 使用方法,同样也是安装上面两个插件

$npm install lib-flexible --save
$npm install postcss-px2rem-exclude --save

在根目录里面找vue.config.js, 如果没有找到创建一个,添加以下代码, 添加完后重新启动npm run serve服务

css: {
        loaderOptions: {
            css: {},
            postcss: {
                plugins: [
                    require('postcss-px2rem-exclude')({
                        // 以设计稿750为例, 750 / 10 = 75
                        remUnit: 75,
                        "exclude":/node_modules/i //忽略 node_modules 目录下的所有文件
                    }),
                ]
            }
        }
    }

图片示例:

Vue Cli 4.x 使用方法,同样也是安装上面两个插件

$npm install lib-flexible --save
$npm install postcss-px2rem-exclude --save

在 cli 4.x 中 跟 vue cli3 使用方法一样

标签:npm,vue,cli2,lib,px2rem,适配,flexible,exclude,postcss
From: https://www.cnblogs.com/liyunxi/p/17758976.html

相关文章

  • vue动态引入组件
    vue动态引入组件,正常情况是页面渲染时动态加载该页面组件,还能进行细化动态加载情况,比如弹窗组件动态导入:除了路由懒加载,你还可以在其他地方使用动态导入来按需加载组件。例如,在某个按钮的点击事件中异步加载一个组件:import('./components/MyComponent.vue').then((module)=>{......
  • Vue生命周期
    Vue生命周期什么是Vue生命周期指的是Vue从创建到销毁整个过程在官网中这样说到"每个Vue组件实例在创建时都需要经历一系列的初始化步骤"以及"在此过程中,它也会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。"官网图示如下  Vue生命周期函数......
  • 第十九篇 - Vue如何通过session记住User
    登录成功后前端存储user对象window.sessionStorage.setItem("currentuser",JSON.stringify(successResponse.data.data.user))前端script中使用user对象中的值JSON.parse(sessionStorage.getItem("currentuser")).user_name前端vue中使用user对象的值{{currentuser.usernam......
  • 2.前端框架(Vue)
    前端框架(Vue)Vue概念;vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写;基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上;官网:https://v2.vuejs.org/框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。基于框架进行开......
  • 讲述vue中data值都有哪些,如何调用
    讲述vue中data值都有哪些,如何调用1,字符串2,对象3,函数4,数字<html>  <head>  <metacharset="UTF-8">  <metaname="viewport"content="width=device-width,initial-scale=1.0">  <title>vue.js</title> ......
  • vue项目打包,解决静态资源无法加载和路由加载无效(404)问题
    打包后的项目静态资源无法使用,导致页面空白静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,此时找到config里面的index.js,在build模块下加入assetsPublicPath:'./', 如下图所示,    在History模式下配合使用nginx运行打包后的项目当刷新当前路......
  • 适配器模式
        ......
  • Vue响应式
    目录Vue中的响应式对象独立的响应式值计算变量监听响应式变量setup方法Vue中的响应式对象Vue3允许在setup()中定义组件需要的数据和方法,通过return在模板中可以直接使用reactive方法<body><divid="Application"></div><script>constApp=Vue......
  • vue框架,input相同标签如何定位-label定位
    一、问题提出:后台前端框架改版,之前是angularjs,现在用vue,导致input标签定位失败,只能定位到第一个input标签,查看后台源代码发现这两个标签是一模一样,如下图:二、问题思考过程1.为什么以前的版本可以定位成功,而现在的就定位不了啦查阅之前版本的这部分定位代码,发现原来的框架是......
  • Vue自定义指令实现复制功能
    importVuefrom'vue'importstorefrom'../store'functioncopyMethod(value){lettext=''switch(typeofvalue){case'number':text=value.toString()breakcase'object':text=JSON......