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 相关文章推荐
JS简单实现文件上传实例代码(无需插件)
Nov 15 Javascript
instanceof和typeof运算符的区别详解
Jan 06 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
vue获取input输入值的问题解决办法
Oct 17 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
Nov 08 jQuery
vue2 router 动态传参,多个参数的实例
Nov 10 Javascript
使用Angular CLI生成路由的方法
Mar 24 Javascript
Webpack 4如何动态切割JS注入文件名详解
Jul 09 Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 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
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
jQuery 解析xml文件
2009/08/09 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
Python isinstance判断对象类型
2008/09/06 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
python从入门到精通(DAY 1)
2015/12/20 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
Python使用剪切板的方法
2017/06/06 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
详解Django配置优化方法
2019/11/18 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
PyTorch实现AlexNet示例
2020/01/14 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Python文件操作基础流程解析
2020/03/19 Python
Python Merge函数原理及用法解析
2020/09/16 Python
Pycharm github配置实现过程图解
2020/10/13 Python
Html5新增标签与样式及让元素水平垂直居中
2019/07/11 HTML / CSS
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
产品质量承诺书
2014/03/27 职场文书
新农村建设典型材料
2014/05/31 职场文书
老公婚前保证书
2015/02/28 职场文书
法律讲堂观后感
2015/06/11 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
详解pytorch创建tensor函数
2022/03/22 Python
教你win10系统中APPCRASH事件问题解决方法
2022/07/15 数码科技