前言

作为开发者,开发H5页面,或其余手机端网页,咱们会司空见惯的关上F12 调到手机模式下进行预览调试,失常状况下用户会应用手机关上该我的项目,所以咱们不太会思考挪动端我的项目在PC分辨率下的内容显示

当领导要求,PC关上显示和挪动端一样的成果,不压缩不舒展,居中显示,这种状况咱们应该怎么做呢?

步骤

此办法基于挪动端应用vue开发 rem适配

介绍办法前默认大家vue我的项目已搭完且已实现rem适配,要实现pc端的适配

1). 第一步创立一个js文件,并在main.js中引入

2). 第二步,咱们要判断客户所处的环境为PC端还是挪动端,只有在PC环境下应用咱们的办法进行非凡的适配,先写一个函数检测环境

function isMobile() {  let flag = navigator.userAgent.match(  /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i  )  return flag}

3). 第三步,设置一个函数,动静批改咱们的根节点字体大小

// 基准大小const baseSize = 37.5 // 留神此值要与 postcss.config.js 文件中的 rootValue保持一致// 设置 rem 函数function setRem() {  // 以后页面宽度绝对于 375宽的缩放比例,可依据本人须要批改,个别设计稿都是宽750(图不便能够拿到设计图后改过来)。  const scale = document.documentElement.clientWidth / 375  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可依据理论业务需要调整)  document.documentElement.style.fontSize = baseSize * Math.min(scale, 1) + 'px'}

4). 第四步,初始化和窗口扭转时判断环境并调用函数

// 初始化!isMobile() && setRem()// 扭转窗口大小时从新设置 remwindow.onresize = function() {  !isMobile() && setRem()}

成果:

留神:

一些交互操作,例如弹窗或引入的第三方ui组件,可能会呈现地位跑偏或弹窗布满全屏,
这种状况是因为当咱们在挪动端开发时很多的款式100%,相对定位这些问题,在切换到pc时窗口产生了变动,呈现这种状况独自对款式做一下解决,写相对定位时听从标准给最近发父元素设置绝对定位尽量不挂靠在body下,或设置body和界面宽度统一......针对不同的款式做不同的解决

残缺代码:

function isMobile() {  let flag = navigator.userAgent.match(    /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i  )  return flag}// 基准大小const baseSize = 37.5 // 留神此值要与 postcss.config.js 文件中的 rootValue保持一致// 设置 rem 函数function setRem() {  // 以后页面宽度绝对于 375宽的缩放比例,可依据本人须要批改,个别设计稿都是宽750(图不便能够拿到设计图后改过来)。  const scale = document.documentElement.clientWidth / 375  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可依据理论业务需要调整)  document.documentElement.style.fontSize = baseSize * Math.min(scale, 1) + 'px'}// 初始化!isMobile() && setRem()// 扭转窗口大小时从新设置 remwindow.onresize = function() {  !isMobile() && setRem()}