移动端适配 使px自动转换rem


Posted in HTML / CSS onAugust 26, 2019
  • 先安装postcss-pxtorem: npm install postcss-pxtorem --save-dev 进行安装
  • 通过屏幕的变化,设置动态根元素 font-size :

移动端适配 使px自动转换rem 

我写在vue的html中

function setRem () {
        let htmlWidth = document.documentElement.clientWidth ||document.body.clientWidth;  //检测html的屏幕宽度和body的屏幕宽度
        document.documentElement.style.fontSize= htmlWidth/7.5 + 'px'; //设置font-size在750屏幕下的尺寸为100px,这样转换的rem可以一目了然之前是多少px的。开发屏幕尺寸自己选,3.2的320屏幕宽也可以。
      }
      setRem();
      window.onresize = function () {   //浏览器尺寸变化进行触发window.onresize函数,然后触发函数setRem()
        setRem()
      }

-然后在 .postcssrc.js 中进行 postcss-pxtorem 配置( .postcssrc.js是脚手架自动生成文件。配置完,要重新npm run dev 运行 ):

移动端适配 使px自动转换rem 

红圈内的需要配置的,剩下的是自带的 :
 

移动端适配 使px自动转换rem 

'postcss-pxtorem': {
  rootValue: 100,  //根元素大小设置,也就是html的font-size大小
  unitPrecision: 5,  //保留rem小数点多少位
  propList: ['*'],    //  是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*']  
  selectorBlackList: ['.radius'],  //则是一个对css选择器进行过滤的数组,比如你设置为['fs'],那例如fs-xl类名,里面有关px的样式将不被转换,这里也支持正则写法。
  replace: true,  //这个真不知到干嘛用的。有知道的告诉我一下
  mediaQuery: false,  //媒体查询( @media screen 之类的)中不生效
  minPixelValue: 12  //px小于12的不会被转换

    }

配置完了可以重新运行了npm run dev 
 

移动端适配 使px自动转换rem 

200px的宽高
 

移动端适配 使px自动转换rem

200px变成2rem 配置的100px为font-size。rootValue为100

移动端适配 使px自动转换rem 

设置class名为radius的样式不被转换
 

移动端适配 使px自动转换rem 

总结

以上所述是小编给大家介绍的移动端适配 使px自动转换rem,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

HTML / CSS 相关文章推荐
css3高级选择器使用方法
Dec 02 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
Sep 20 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
Jan 03 HTML / CSS
详解css3 flex弹性盒自动铺满写法
Sep 17 HTML / CSS
html5 offlline 缓存使用示例
Jun 24 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
Dec 07 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
Aug 19 HTML / CSS
AmazeUI 等分网格的实现示例
Aug 25 HTML / CSS
萌新的HTML5 入门指南
Nov 06 HTML / CSS
使用CSS实现小三角边框原理解析
Nov 07 HTML / CSS
css样式important规则的正确使用方式
Jun 10 HTML / CSS
CSS3 毛玻璃效果
Aug 14 #HTML / CSS
详解css position 5种不同的值的用法
Jul 30 #HTML / CSS
CSS Houdini实现动态波浪纹效果
Jul 30 #HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 #HTML / CSS
使用CSS3实现input多选框自定义样式的方法示例
Jul 19 #HTML / CSS
详解css3中 text-fill-color属性
Jul 08 #HTML / CSS
解决margin 外边距合并问题
Jul 03 #HTML / CSS
You might like
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
setTimeout学习小结
2017/02/08 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
vue实现计步器功能
2019/11/01 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
深入理解Django的自定义过滤器
2017/10/17 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
python内打印变量之%和f的实例
2020/02/19 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
python字典与json转换的方法总结
2020/12/28 Python
Python 带星号(* 或 **)的函数参数详解
2021/02/23 Python
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
西班牙在线药店:DosFarma
2020/03/28 全球购物
会展中心部门工作职责
2013/11/27 职场文书
银行业务授权委托书
2014/10/10 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
学历证明样本
2015/06/16 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
OpenCV 图像梯度的实现方法
2021/07/25 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android