问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一篇文章搞懂,vue中pc端与移动端适配解决方案

发布网友 发布时间:2024-09-17 10:33

我来回答

1个回答

热心网友 时间:2024-09-29 07:05

Vue中pc端与移动端适配解决方案

1.移动端适配方案

1.1 基础概念

viewport即视窗、视口,用于显示网页部分的区域,在PC端视口即是浏览器窗口区域,在移动端,为了让页面展示更多的内容,视窗的宽度默认不为设备的宽度,在移动端视窗有三个概念:布局视窗、视觉视窗、理想视窗。

viewport详细设置:

移动端默认会缩放大尺寸的页面的,当我们把上述代码去掉之后,就会随着移动端缩放的比例走,而且还可以自由放大。

1.1.1 解决方案一viewport缩放 方案统计:

代码原理:

【7】 移动端开发自适应解决方案(阿里团队高清方案)

1.1.2 解决方案二—两套页面 同时兼任pc和移动适配 通过配置两套不同路由和判断是否是移动端实现 核心代码:router.addRoute(isMobile() ? mobileRoutes[1] : pcRoutes[1]);(区分路由)

1.1.3 解决方案三—postcss-pxtorem、amfe-flexible 搭配工程化,可以参考第二章【PC端适配方案】

2.PC端适配方案

vue项目使用element-ui框架Rem适配(postcss-pxtorem、amfe-flexible),自动转换px为rem,解决响应式问题

1366 * 768 : 普通液晶显示器

1920 * 1080: 高清液晶显示器

2560 * 1440: 2K高清显示器

4096 * 2160: 4K高清显示器

1280 * 720: 笔记本(1920*1080分辨率下系统默认推荐150%缩放比产生的尺寸) 大屏数据可视化项目通常用于放在电视或广告屏上展示用,而不允许出现滚动条

2.1. 适配痛点难点

设计稿按照1920*1080的分辨率,16:9的比例设计, 实际开发中,document窗口不足16:9(高度减掉顶部tab及导航栏,地址栏等) 不同分辨率:实际应用场景中,显示场景不同,不能固定写死px单位 不同比例:不同的显示器宽高比与设计稿不一致

2.2. 什么是rem

rem是CSS3新增的相对长度单位,是指相对于根元素html的font-size计算值的大小。简单可理解为屏幕宽度的百分比。

但是,项目中常见尺寸绘制采用的均是px,要改用rem一时半会缓不过来,而且可能还要换算转换,所以使用rem还是比较麻烦的,但是,我们可以通过插件,能够将项目中的px转换为rem,还可以自定义基数。

2.3. 安装依赖

2.3. 引入amfe-flexible 由于 viewport 单位得到众多浏览器的兼容,lib-flexible 这个过渡方案已经可以放弃使用,不管是现在的版本还是以前的版本,都存有一定的问题。建议大家开始使用 viewport 来替代此方。(待考证?) amfe-flexible是lib-flexible的升级版 flexible就是根据不同的屏幕算出html的font-size,通过js来动态写meta标签 实上他做了这几样事情:

在main.js中引入amfe-flexible

amfe-flexible 等价代码

2.4. 配置vue.config.js

配置postcss-pxtorem ,可在vue.config.js、postcsssrc.js、postcss.config.js、其中之一配置,权重从左到右降低,没有则新建文件,只需要设置其中一个即可.

2.5. 总结

2.5.1 注意事项:

1. 不能使用行内样式 对于行内样式,阿里手淘并不能将px转rem,所以对于需要自适应的样式,如font-size、width、height等请不要写在行内。同理,对于不需要转化的样式可以写在行内,或者使用PX(大写)作为单位。 暂未找到可以转行内rem的插件,可根据下面地址的方式自己实现(未验证是否可行)。 blog.csdn.net/weixin_3961…

2. 字号不使用rem 我们都知道chrome的最小显示的字体是12px,如果字体用rem,计算出来小于12px,那么就也会以12px显示,而且我们不希望出现13px或者15px这样的奇葩尺寸,所以字体最好是用PX(大写)来表示,至于适应,我们可以写媒体查询。

2.5.2 测试反馈:

已测试屏幕尺寸:1920*1080 、1366 * 768

问题:屏幕缩小,网页缩放,效果与原1920*1080不一致

2.5.3其他问题:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? vue怎么适配电脑端和手机端? 女子在看守所欲见男友遭拒为何选择自残? 做梦到刷牙是什么意思? 长青树终身重疾险恶性肿瘤赔付规则是什么 淘宝平台理赔是什么意思 农历1990年01月20日是什么命? 非法携带枪支、弹药、管制刀具、危险物品危及公共安全罪刑法条文_百 ... 车的保险什么规则 想问下顺丰理赔有什么规则和方法吗? 中国人保车险理赔规则是什么 患上焦虑症只有终生服药吗 我是公历1990年1月20日生的,那年刚好是农历1989年腊月十六,那我今年... ...停药后脑子迷糊,全靠药物维持。请问我终生服药吗, 90年1月20日农历是 心情不好奶水会怎么办 产妇心情不好奶水对小孩有影响吗 哺乳期心情不好会影响乳汁质量吗 老人染发剂哪个牌子最好最安全?选择最安全染发膏 最好的染发膏纯植物第一名?给头发呵护 神经衰弱按摩治疗法基本概述 Vue移动端/PC端适配解决方案:postcss-px-to-viewport 淮海电瓶三轮车,一体便挡副变速什么意思? 哈利波特6游戏问题 关于天气变化的 有哈利波特书籍的人进来 哈利波特魔法觉醒怎么刷到下雨天气 初二 英语 .暑假作业 请详细解答,谢谢! (16 15:37:42) 初二 暑假作业(绿色的 有一女生拿这相机的)英语部分怎么写?给个参考... 初二英语作文(暑假作业,求救) 明阳电气集团公司简介 明阳天成号是哪个公司 碘着色均匀是什么意思? 招商银行存款存定期怎么还会看的到 损益属于什么科目 属于损益科目的是什么意思 什么叫损益科目 会计损益属于什么科目 损益是什么类科目 人教版初二下册几道数学题:通分,解方程 6年级解方程通分等我很多不会 解方程,要有详细过程,(包括通分,化简等一切解方程重要步骤) 速度...