温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-28 10:02:16 来源:亿速云 阅读:243 作者:小新 栏目:web开发

小编给大家分享一下移动端适配如何使px自动转换rem,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

  • 先安装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”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI