移动端适配(vue)

一、原理

css代码写1rem 等同于 页面的font-size的尺寸

原生写法:

const docEl = document.documentElement
function setRem() {
  const rem = docEl.clientWidth / 10
  docEl.style.fontSize = rem + "px"
}
window.addEventListener('resize', setRem())
window.addEventListener('pageShow', setRem())

二、vue项目实战中如何实现适配

使用 amfe-flexible postcss-pxtorem(5.1.1版本) 插件

 amfe-flexible 在main.js中引入即可

import "amfe-flexible"

 postcss-pxtorem 

新建postcss.config.js文件

module.exports = () => ({
    plugins: [
        // autoprefixer 自动补齐 CSS3 前缀,适配不同浏览器
      require('autoprefixer')({
        overrideBrowserslist: [
          "last 10 versions", // 所有主流浏览器最近10版本用
        ],
      }),
      require('postcss-pxtorem')({
        rootValue: 192.0, //设计稿元素尺寸/10,这里设计稿宽度为1920
        propList: ["*"], //是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*']
        unitPrecision: 3, //保留rem小数点多少位
        selectorBlackList: ['el-input', 'el-step', 'no-'],//则是一个对css选择器进行过滤的数组,比如你设置为['el-'],那所有el-类名里面有关px的样式将不被转换,这里也支持正则写法。
        replace: true, 
        mediaQuery: false, //媒体查询( @media screen 之类的)中不生效
        // minPixelValue: 3, //px小于3的不会被转换
      })
    ]
  });
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值