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 08 Javascript
Javascript中产生固定结果的函数优化技巧
Jan 16 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
js中一个函数获取另一个函数返回值问题探讨
Nov 21 Javascript
jquery中的on方法使用介绍
Dec 29 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
May 05 Javascript
常用的js验证和数据处理总结
Aug 02 Javascript
微信小程序 使用canvas制作K线实例详解
Jan 12 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
vue滚动tab跟随切换效果
Jun 29 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
解析php中array_merge与array+array的区别
2013/06/21 PHP
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python tkinter和exe打包的方法
2020/02/05 Python
python3 字符串知识点学习笔记
2020/02/08 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
详解python算法常用技巧与内置库
2020/10/17 Python
python各种excel写入方式的速度对比
2020/11/10 Python
HTML5 progress和meter控件_动力节点Java学院整理
2017/07/06 HTML / CSS
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
史上最全面的Java面试题汇总!
2015/02/03 面试题
大学生职业生涯规划书模版
2013/12/30 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
人事任命书格式
2014/06/05 职场文书
财务工作检讨书
2014/10/29 职场文书
叶问观后感
2015/06/15 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery