vue使用rem实现 移动端屏幕适配


Posted in Javascript onSeptember 26, 2018

要想移动端适配 并使用 rem  您需要先看这篇文章,配置好less ➡️ 在vue 中使用 less,就可以使用rem了

如果项目已经开发的差不多了,没有用到rem 又要使用rem,您用这招。

postcss-pxtorem:转换px为rem的插件

安装 postcss-pxtorem

npm install postcss-pxtorem --save

 

新建rem.js文件

const baseSize = 32
// 设置 rem 函数
function setRem () {
 // 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
 const scale = document.documentElement.clientWidth / 750
 // 设置页面根节点字体大小
 document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
 setRem()
}

并引用进main.js文件内

import './rem'

 修改.postcssrc.js 文件

在.postcssrc.js文件内的 plugins 添加以下配置,配后就可以在开发中直接使用 px 单位开发了

"postcss-pxtorem": {
  "rootValue": 32,
  "propList": ["*"]
 }

helloworld.vue

<template>
 <div class="hello">
 test
 </div>
</template>

<script>
 export default {
 name: 'HelloWorld',
 data() {
  return {
  msg: 'Welcome to Your Vue.js App'
  }
 }
 }
</script>

<style scoped>
 .hello {
 text-align: center;
 font-size: 20px;
 width: 300px;
 height: 400px;
 background:red;
 }
</style>

效果

vue使用rem实现 移动端屏幕适配

补充:下面看下Vue用rem布局

使用vue.js搭建一个移动端项目,怎样做到自适应呢?当然选择rem布局是比较方便快捷的。

在使用vue-cli搭建好项目框架后,在目录结构的index.html文件中添加一段代码:

<script>
fnResize()
window.onresize = function () {
fnResize()
}
function fnResize() {
var deviceWidth = document.documentElement.clientWidth || window.innerWidth
if (deviceWidth >= 750) {
deviceWidth = 750
}
if (deviceWidth <= 320) {
deviceWidth = 320
}
document.documentElement.style.fontSize = (deviceWidth / 7.5) + 'px'
}
</script>

之后,在写css时,只要将px单位替换成rem,这里设置的比例是100px=1rem,例如,宽度为100px时,可以直接写成1rem。

总结

以上所述是小编给大家介绍的vue使用rem实现 移动端屏幕适配 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 编写匿名函数的几种方法
Feb 21 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
JavaScript回调(callback)函数概念自我理解及示例
Jul 04 Javascript
javascript封装简单实现方法
Aug 11 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
Bootstrap每天必学之折叠
Apr 12 Javascript
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
微信小程序实现留言功能
Oct 31 Javascript
taro开发微信小程序的实践
May 21 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 Javascript
vue router返回到指定的路由的场景分析
Nov 10 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 #Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
Sep 25 #Javascript
vue单页缓存方案分析及实现
Sep 25 #Javascript
Vue中对拿到的数据进行A-Z排序的实例
Sep 25 #Javascript
vue单页缓存存在的问题及解决方案(小结)
Sep 25 #Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 #Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 #Javascript
You might like
总集篇&特番节目先行播出!《SAO Alicization War of Underworld》第2季度TV动画4月25日放送!
2020/03/06 日漫
PHP编程之设置apache虚拟目录
2016/07/08 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
js实现文字滚动效果
2016/03/03 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
Python实现网站注册验证码生成类
2017/06/08 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
python 不以科学计数法输出的方法
2018/07/16 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Python接口测试文件上传实例解析
2020/05/22 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
生产车间班组长岗位职责
2014/01/06 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
精彩广告词大全
2014/03/19 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
年底个人总结范文
2015/03/10 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
python urllib库的使用详解
2021/04/13 Python
MySQL日期时间函数知识汇总
2022/03/17 MySQL