vue 移动端适配方案详解


Posted in Javascript onNovember 15, 2018

一、方法一:rem 布局

在主入口:index.html,<head> 标签内添加如下JS 代码:(实现在标准 375px宽度适配下,100px = 1rem。)

<script>
  (function () {
   // 在标准 375px 适配下,100px = 1rem;
   var baseFontSize = 100; 
   var baseWidth = 375;

   var set = function () {
    var clientWidth = document.documentElement.clientWidth || window.innerWidth;

    var rem = 100;
    if (clientWidth != baseWidth) {
     rem = Math.floor(clientWidth / baseWidth * baseFontSize);
    }

    document.querySelector('html').style.fontSize = rem + 'px';
   }
   set();

   window.addEventListener('resize', set);
  }());
  
 </script>

二、方法二:lib-flexible 插件实现

1、安装插件

npm i lib-flexible --save    // 载lib-flexible
npm install px2rem-loader    // 安装px2rem-loader

2、在main.js中引入lib-flexible

import 'lib-flexible/flexible'

3、在 index.html 中添加:移动适配 meta标签

<meta name="viewport" content="width=device-width,initial-scale=1.0">
//注意这两个的区别,建议添加下面的meta,反正点击输入框,页面自动缩放
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

4、更改配置

在 build/util.js 中 按如下两更改

(1)、将px2rem-loader添加到cssLoaders中

const cssLoader = {
  loader: 'css-loader',
  options: {
   minimize: process.env.NODE_ENV === 'production',
   sourceMap: options.sourceMap
  }
 }
 const px2remLoader = {
  loader: 'px2rem-loader',
  options: {
   //一般设置75
   remUnit: 35
  }
 }

(2)、在generateLoaders方法中添加px2remLoader

function generateLoaders(loader, loaderOptions) {
  const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]

  if (loader) {
   loaders.push({
    loader: loader + '-loader',
    options: Object.assign({}, loaderOptions, {
     sourceMap: options.sourceMap
    })
   })
  }

  // Extract CSS when that option is specified
  // (which is the case during production build)
  if (options.extract) {
   return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader'
   })
  } else {
   return ['vue-style-loader'].concat(loaders)
  }
 }

总结要修改的地方

vue 移动端适配方案详解

添加位置.png

5、重启

npm run dev  // 重新运行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一段效率很高的for循环语句使用方法
Aug 13 Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 Javascript
jQuery阻止事件冒泡具体实现
Oct 11 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
javascript实现方法调用与方法触发小结
Mar 26 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
Jan 12 Javascript
js 取消页面可以选中文字的功能方法
Jan 02 Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 Javascript
详解package.json版本号规则
Aug 01 Javascript
Element图表初始大小及窗口自适应实现
Jul 10 Javascript
JS倒计时两种实现方式代码实例
Jul 27 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 #Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 #Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 #Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 #Javascript
用图片替换checkbox原始样式并实现同样的功能
Nov 15 #Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 #Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 #Javascript
You might like
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
Javascript开发包大全整理
2006/12/22 Javascript
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
微信小程序 textarea 详解及简单使用方法
2016/12/05 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
简洁的十分钟Python入门教程
2015/04/03 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
平面设计自荐信
2013/10/07 职场文书
师范应届生语文教师求职信
2013/10/29 职场文书
大学生职业生涯规划方案
2014/01/03 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
涨价通知怎么写
2015/04/23 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript