iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue项目适配大屏端的方法
  • 807
分享到

vue项目适配大屏端的方法

2023-06-20 19:06:18 807人浏览 泡泡鱼
摘要

本篇内容主要讲解“Vue项目适配大屏端的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目适配大屏端的方法”吧!浅析rem首先rem是CSS单位,相比于px固定的像素单位,rem更加的

本篇内容主要讲解“Vue项目适配大屏端的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目适配大屏端的方法”吧!

浅析rem

首先rem是CSS单位,相比于px固定的像素单位,rem更加的灵活,还有现在也比较好的vm。如果从未了解过,可以先过过眼

rem自适应。css3的REM设置字体大小

font size of the root element.

简单来说,rem就是根据html元素的字体大小来计算单位的。我们的需求就是说,根据不同的分辨率,我们元素的大小能够有所对应的变化,在视觉上能够做到很舒服的效果。想想我们在做pc端的时候,一般都是中间固定比如1200px像素,然后最小1200px,两边留白,这样我们无论放大缩小都不会影响效果。但是现在移动端各种屏幕的出现,适应性就更加的强烈。根据分辨率的不同让html的字体大小变化,我们在页面中写rem,由于rem是相对于根元素字体大小来计算的,那么就可以实现自适应的效果。

1.适配方式

适配方案采用rem布局, 根据屏幕分辨率大小不同,调整根元素html的font-size, 从而达到每个元素宽高自动变化,适配不同屏幕

2.使用 postcss-px2rem-exclude 插件

安装 npm install postcss-px2rem-exclude --save-dev

在项目根目录创建 postcss.config.js 文件

module.exports = {  plugins: {    autoprefixer: {},    'postcss-px2rem-exclude': {      remUnit: 192      // exclude: /node_modules|folder_name/i,    }  }}

3.安装 flexible.js (建议放到本地)

安装命令  npm install lib-flexible

(function(win, lib) {  var doc = win.document  var docEl = doc.documentElement  var metaEl = doc.querySelector('meta[name="viewport"]')  var flexibleEl = doc.querySelector('meta[name="flexible"]')  var dpr = 0  var scale = 0  var tid  var flexible = lib.flexible || (lib.flexible = {})  if (metaEl) {    console.warn('将根据已有的meta标签来设置缩放比例')    var match = metaEl      .getAttribute('content')      // eslint-disable-next-line no-useless-escape      .match(/initial\-scale=([\d\.]+)/)    if (match) {      scale = parseFloat(match[1])      dpr = parseInt(1 / scale)    }  } else if (flexibleEl) {    var content = flexibleEl.getAttribute('content')    if (content) {      // eslint-disable-next-line no-useless-escape      var initialDpr = content.match(/initial\-dpr=([\d\.]+)/)      // eslint-disable-next-line no-useless-escape      var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/)      if (initialDpr) {        dpr = parseFloat(initialDpr[1])        scale = parseFloat((1 / dpr).toFixed(2))      }      if (maximumDpr) {        dpr = parseFloat(maximumDpr[1])        scale = parseFloat((1 / dpr).toFixed(2))      }    }  }  if (!dpr && !scale) {    // var isAndroid = win.navigator.appVersion.match(/android/gi);    var isIPhone = win.navigator.appVersion.match(/iphone/gi)    var devicePixelRatio = win.devicePixelRatio    if (isIPhone) {      // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案      if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {        dpr = 3      } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {        dpr = 2      } else {        dpr = 1      }    } else {      // 其他设备下,仍旧使用1倍的方案      dpr = 1    }    scale = 1 / dpr  }  docEl.setAttribute('data-dpr', dpr)  if (!metaEl) {    metaEl = doc.createElement('meta')    metaEl.setAttribute('name', 'viewport')    metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-Scalable=no')    if (docEl.firstElementChild) {      docEl.firstElementChild.appendChild(metaEl)    } else {      var wrap = doc.createElement('div')      wrap.appendChild(metaEl)      doc.write(wrap.innerHTML)    }  }  function refreshRem() {    var width = docEl.getBoundinGClientRect().width    if (width / dpr > 540) {      width = width * dpr    }    var rem = width / 10    docEl.style.fontSize = rem + 'px'    flexible.rem = win.rem = rem  }  win.addEventListener(    'resize',    function() {      clearTimeout(tid)      tid = setTimeout(refreshRem, 300)    },    false  )  win.addEventListener(    'pageshow',    function(e) {      if (e.persisted) {        clearTimeout(tid)        tid = setTimeout(refreshRem, 300)      }    },    false  )  if (doc.readyState === 'complete') {    doc.body.style.fontSize = 12 * dpr + 'px'  } else {    doc.addEventListener(      'DOMContentLoaded',      function() {        doc.body.style.fontSize = 12 * dpr + 'px'      },      false    )  }  refreshRem()  flexible.dpr = win.dpr = dpr  flexible.refreshRem = refreshRem  flexible.rem2px = function(d) {    var val = parseFloat(d) * this.rem    if (typeof d === 'string' && d.match(/rem$/)) {      val += 'px'    }    return val  }  flexible.px2rem = function(d) {    var val = parseFloat(d) / this.rem    if (typeof d === 'string' && d.match(/px$/)) {      val += 'rem'    }    return val  }})(window, window['lib'] || (window['lib'] = {}))

上面的代码与安装的flexible.js不同

修改了

  function refreshRem() {    var width = docEl.getBoundingClientRect().width    if (width / dpr > 540) {      width = width * dpr    }    var rem = width / 10    docEl.style.fontSize = rem + 'px'    flexible.rem = win.rem = rem  }

在main.js中引入

import '路径/flexible.js'

到此,相信大家对“vue项目适配大屏端的方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: vue项目适配大屏端的方法

本文链接: https://www.lsjlt.com/news/299432.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue项目适配大屏端的方法
    本篇内容主要讲解“vue项目适配大屏端的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目适配大屏端的方法”吧!浅析rem首先rem是css单位,相比于px固定的像素单位,rem更加的...
    99+
    2023-06-20
  • vue项目适配大屏端的方法示例
    浅析rem 首先rem是css单位,相比于px固定的像素单位,rem更加的灵活,还有现在也比较好的vm。如果从未了解过,可以先过过眼 rem自适应。CSS3的REM设置字体大小 ...
    99+
    2024-04-02
  • vue大屏展示适配的方法
    本文实例为大家分享了vue大屏展示适配的具体代码,供大家参考,具体内容如下 1.utils文件夹建一个文件cv以下代码 export function useIndex (app...
    99+
    2024-04-02
  • vue项目适配屏幕分辨率与屏幕的缩放适配详细教程
    目录解决方案全局导入App.vue刷新页面笔记本或者显示器 默认设置125%或者150%缩放,导致布局错乱的解决方法 现在很多14寸的笔记本,出厂默认就是150%的显示。导致很多时候...
    99+
    2022-11-13
    vue 屏幕分辨率 vue 适配屏幕分辨率 vue适配屏幕的缩放 vue适配屏幕
  • Vue前端项目自适应布局的简单方法
    目录一、单位尺寸二、基于rem实现自适应布局附:html5页面 的rem 布局适配方法总结一、单位尺寸 px%vw、vh: 窗口em: 针对父元素的font-sizerem:&ldq...
    99+
    2024-04-02
  • vue项目做屏幕自适应处理方式
    目录起由总结起由 项目基于vue-cli搭建,之前项目采用less的功能函数集合媒体查询做的屏幕适配,但是由于JavaScript的对浮点数据处理,这个语言本身的bug问题,总是会出...
    99+
    2023-01-12
    vue屏幕自适应 屏幕自适应 屏幕自适应处理
  • vue+px2rem实现pc端大屏自适应的实例代码(rem适配)
    配置前言 项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配 实现原理:每次打包,webpack通过使用插件postcss...
    99+
    2024-04-02
  • 关于移动端与大屏幕自适应适配方案
    目录一、安装并配置相应插件1.安装lib-flexible与postcss-pxtorem2.配置lib-flexible与postcss-pxtorem二、设置移动端适配三、注意问...
    99+
    2022-11-13
    移动端自适应 大屏幕自适应 自适应适配
  • vue项目中使用骨架屏的方法
    现在的应用开发,基本上都是前后端分离的,前端主流框架有SPA、MPA等,那么解决页面渲染、白屏时间成为首要关注的点 webpack可以按需加载,减小首屏需要加载代码的体积; 使用CD...
    99+
    2024-04-02
  • vue中怎么适配移动端屏幕
    vue中怎么适配移动端屏幕,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。效果预览# 项目clonegit clone git@github...
    99+
    2024-04-02
  • vue移动端html5页面根据屏幕适配的方法有哪些
    这篇文章主要介绍“vue移动端html5页面根据屏幕适配的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue移动端html5页面根据屏幕适配的方法有哪些...
    99+
    2024-04-02
  • vue项目配置env的方法步骤
    目录vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令配置.env文件获取.env中的全局变量实际用处总结vue中利用.env文件存储全局环境变量,以及配置vue...
    99+
    2023-05-16
    vue配置文件.env vue项目配置env vue的env配置
  • vue大屏自适应的实现方法(cv就能用)
    目录前言大屏第一步:先下包,这里用到lib-flexible和postcss-pxtorem第二步:在main.js引入第三步:修改lib-flexible源文件配置第四步:在vue...
    99+
    2024-04-02
  • 如何解决基于Vue/React项目移动端适配的问题
    这篇文章给大家分享的是有关如何解决基于Vue/React项目移动端适配的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。px2rem或postcss-px2rem在移动端中,为...
    99+
    2024-04-02
  • vue项目多环境配置得方法
    这篇文章主要介绍“vue项目多环境配置得方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue项目多环境配置得方法”文章能帮助大家解决问题。什么是多环境配置,为什...
    99+
    2024-04-02
  • vue项目多环境配置的实现方法
    这篇文章主要讲解了“vue项目多环境配置的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue项目多环境配置的实现方法”吧!目录什么是多环境配置,为什么要多环境配置.env 文件配置...
    99+
    2023-06-20
  • vue项目中使用lib-flexible如何解决移动端适配的问题
    这篇文章将为大家详细讲解有关vue项目中使用lib-flexible如何解决移动端适配的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一部分:项目中引入lib-fl...
    99+
    2024-04-02
  • vue中怎么使用rem适配移动端屏幕
    这篇“vue中怎么使用rem适配移动端屏幕”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue中怎么使用rem适配移动端屏幕...
    99+
    2023-07-04
  • Vue实现大屏页面的屏幕自适应
    本文实例为大家分享了Vue实现大屏页面的屏幕自适应的具体代码,供大家参考,具体内容如下 1. 在配置文件设置大屏设计的尺寸1920*1080 //appConfig.js exp...
    99+
    2024-04-02
  • Vue前端项目自适应布局怎么实现
    这篇文章主要介绍“Vue前端项目自适应布局怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue前端项目自适应布局怎么实现”文章能帮助大家解决问题。一、单位尺寸px%vw、vh: 窗口em: ...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作