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-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
Jan 02 Javascript
js+css实现上下翻页相册代码分享
Aug 18 Javascript
js实现滚动条滚动到页面底部继续加载
Dec 19 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
微信小程序整合使用富文本编辑器的方法详解
Apr 25 Javascript
jQuery pager.js 插件动态分页功能实例分析
Aug 02 jQuery
VuePress 中如何增加用户登录功能
Nov 29 Javascript
多个Vue项目部署到服务器的步骤记录
Oct 22 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 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
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
PHP强制转化的形式整理
2020/05/22 PHP
JavaScript修改css样式style
2008/04/15 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python制作CSDN免积分下载器
2015/03/10 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
C语言面试题
2015/10/30 面试题
打架检讨书100字
2014/01/19 职场文书
称象教学反思
2014/02/03 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
青年文明号汇报材料
2014/12/23 职场文书
个性发展自我评价2015
2015/03/09 职场文书
房贷工资证明范本
2015/06/12 职场文书
初中生物教学反思
2016/02/20 职场文书