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 相关文章推荐
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
May 13 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
Dec 09 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
浅析node连接数据库(express+mysql)
Nov 30 Javascript
Ajax的概述与实现过程
Nov 18 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
Sep 25 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
Sep 30 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
ucenter通信原理分析
2015/01/09 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
jquery的index方法实现tab效果
2011/02/16 Javascript
angularjs基础教程
2014/12/25 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
vue中监听返回键问题
2019/08/28 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
AmazeUI 加载进度条的实现示例
2020/08/20 HTML / CSS
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
《威尼斯的小艇》教学反思
2014/02/17 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python