Vant+postcss-pxtorem 实现浏览器适配功能


Posted in Javascript onFebruary 05, 2021

Rem 布局适配
Vant 中的样式默认使用 px 作为单位,如果需要使用 rem 单位,推荐使用以下两个工具:
postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem
lib-flexible 用于设置 rem 基准值
看到最后有惊喜!

一、npm安装

npm install postcss-pxtorem --save

二、新建.postcssrc.js做如下修改

注:
1、以下注释代码开启后运行脚本会出现报错的提示,虽不知道有什么用,注释就好啦。

module.exports = {
 "plugins": {
 	//"postcss-import": {},
  //"postcss-url": {},
  "autoprefixer": {
   browsers: ['Android >= 4.0', 'iOS >= 7']
  },
  "postcss-pxtorem": {
   "rootValue": 32,
   "propList": ["*"]
  }
 }
}

三、新建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中引入rem.js

import "./rem.js"

至此,Vant+postcss-pxtorem 实现浏览器适配就完成了。
即可直接在样式中畅快的使用px且自动转换成rem。
等等先别走!!!客官。
以为到这里就结束了吗?NO,往下看还有一份不基于postcss-pxtorem 来实现的rem适配哦。
话不多说直接上代码。

五、新建rem.js并再main.js中引入

(function (doc, win) {
 var docEl = doc.documentElement
 var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
 var recalc = function () {
  var clientWidth = docEl.clientWidth
  if (!clientWidth) return
  if (parseInt(20 * (clientWidth / 320)) > 35) {
   docEl.style.fontSize = 35 + 'px'
  } else {
   docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'
  }
 }
 if (!doc.addEventListener) return
 win.addEventListener(resizeEvt, recalc, false)
 doc.addEventListener('DOMContentLoaded', recalc, false)
})(document, window)

import "./rem.js"

六、添加样式全局变量并使用

// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
$rem: (640/750)/40;
body{
	width: $rem * 24rem;
}

到此这篇关于Vant+postcss-pxtorem 实现浏览器适配的文章就介绍到这了,更多相关Vant+postcss-pxtorem 适配内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
让mayfish支持mysqli数据库驱动的实现方法
May 22 Javascript
jquery ajax 局部刷新小案例
Feb 08 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
Jan 22 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 Javascript
jQuery 表单序列化实例代码
Jun 11 jQuery
jQuery 实时保存页面动态添加的数据的示例
Aug 14 jQuery
vue中实现滚动加载更多的示例
Nov 08 Javascript
Vue 中使用 CSS Modules优雅方法
Apr 09 Javascript
vue自定义filters过滤器
Apr 26 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
小程序点击图片实现png转jpg
Oct 22 Javascript
JavaScript代码实现微博批量取消关注功能
Feb 05 #Javascript
js属性对象的hasOwnProperty方法的使用
Feb 05 #Javascript
关于element的表单组件整理笔记
Feb 05 #Javascript
详解JavaScript中的this指向问题
Feb 05 #Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
Feb 05 #Javascript
详解javascript脚本何时会被执行
Feb 05 #Javascript
前端如何实现动画过渡效果
Feb 05 #Javascript
You might like
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
PHP中比较时间大小实例
2014/08/21 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
JS实现随机点名器
2020/04/12 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
python黑魔法之编码转换
2016/01/25 Python
详细分析python3的reduce函数
2017/12/05 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
对python判断是否回文数的实例详解
2019/02/08 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
老师推荐信
2013/10/28 职场文书
医科大学生毕业的自我评价分享
2013/11/12 职场文书
党章培训心得体会
2014/09/04 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2014年创卫工作总结
2014/11/24 职场文书