1.H5适配解决方案

1.1 百分比

%

缺点:相对于父级width

1.2 em和rem

em:相对于父级元素的font-size

rem:相对于根字号,也就是html根标签的font-size

1.3 媒体查询

@media (max-width: 12450px) { 
  
   //css样式
}

1.4 flex布局

思考一下:flex布局与响应式布局的区别?

flex:不会破坏布局结构

flex:1 1 1
响应式布局:会破坏布局,改变显示的内容,重要内容优先显示,其他内容可能放在下面或显隐藏掉

https://www.ruanyifeng.com/blog/2015/07/flex-examples.html
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

1.5 vw,vh,vmax,vmin

vw:动态根据当前屏幕可视区的宽度  1vw相当于可视区宽度的1%
vh:动态根据当前屏幕可视区的高度   1vh相当于可视区高度的1%
vmax:动态根据当前屏幕可视区的宽度和高度选取取最大者    1vmax相当于可视区宽度和高度选取取最大者 的1%
vmin:动态根据当前屏幕可视区的宽度和高度选取取最小者    1vmmin相当于可视区宽度和高度选取取最小者 的1%

1.6适配在项目中的解决方案

1.根据屏幕宽度除以10,将每份的宽度做为html根字号
2.引入一个适配的js,通常叫rem.js来实现动态改变html根字号
3.根据编辑器不同,安装内置适配插件
4.使用sass封装一个适配方法,将你的Px值传入这个适配方法中,自动计算出rem
5.利用postcss 实现适配


2和5方案结合使用

要计算的rem=目标px/html根字号

   6rem=300px/100
   
   postcss-px2vw
   
   
1.postcss-px2vw:

该插件主要结合了 postcss-pxtorem 和 postcss-px-to-viewport 的功能,精简了不常用的配置。默认将 vw 作为优先单位使用,以 rem 作为回退模式。考虑到 vw 在移动设备的支持度不如 rem,这款插件很好的解决了该问题。
   
 postcss-px2vw插件地址:https://www.npmjs.com/package/@moohng/postcss-px2vw
 
2.postcss-pxtorem 和lib-flexible处理适配
   使用方法参考地址:
      https://vant-contrib.gitee.io/vant/#/zh-CN/advanced-usage#liu-lan-qi-gua-pei
      
      
      创建配置文件:postcss.config.js
 module.exports = {
    plugins: {
      "postcss-pxtorem": {
        rootValue:100, //结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem
        propList: ["*"], //是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*']
      
      },
    },
  };
      
 报错解决方案: