推荐看看大漠老师的文章,非常的有收获
如何在Vue项目中使用vw实现移动端适配


1.首先在项目中安装依赖
npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S
2.修改.postcssrc.js的配置
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
"postcss-aspect-ratio-mini": {},
"postcss-write-svg": { utf8: false },
"postcss-cssnext": {},
"postcss-px-to-viewport": {
viewportWidth: 750, // 容器宽度,也可以看作设计图的宽度
viewportHeight: 1334, // 容器高度,可以不配置
unitPrecision: 3, // px转换为vw后保留的小数位
viewportUnit: 'vw', // px需要转换成的单位,使用vw
selectorBlackList: ['.ignore', '.hairlines'], // 不需要转换为其他单位的的class类
minPixelValue: 1, // 小于等于1px不转换
mediaQuery: false // 是否允许在媒体查询中使用px
},
"postcss-viewport-units": {},
"cssnano": {
preset: "advanced",
autoprefixer: false,
"postcss-zindex": false
}
}
}

因为在cssnano中配置了 preset:"advanced",所以需要添加一个依赖

npm i cssnano-preset-advanced --save-dev
3.添加全局css

因为postcss-viewport-units会在计算vw时自动添加content内容,但是content会有一定的副作用,所以添加一个全局的css

img {
content: normal !important;
}
4.解决vw兼容问题

在html中引用viewport-units-buggyfill插件

<script src="//g.alicdn.com/fdilab/lib3rd/viewport-units-buggyfill/0.6.2/??viewport-units-buggyfill.hacks.min.js,viewport-units-buggyfill.min.js"></script>

然后调用viewport-units-buggyfill

<script>
window.onload = function () {
window.viewportUnitsBuggyfill.init({ hacks: window.viewportUnitsBuggyfillHacks });
}
</script>

最新文章

  1. JavaScript中闭包之浅析解读
  2. HD1160FatMouse&#39;s Speed(最长单调递增子序列)
  3. css:删除:&#215;的效果
  4. CSS3:动画大全
  5. System.Web.Http.Tracing 在webapi里面应用
  6. Asterisk 未来之路3.0_0001
  7. 一个web应用的诞生(7)--结构调整
  8. js 正则表达式验证
  9. python实现加密
  10. kvm 虚拟机XML文件
  11. BZOJ4921「Lydsy1706月赛」互质序列
  12. CentOS7 开启网卡,设置开机启用网卡
  13. 伪类选择器 E:nth-child(n)、E:nth-of-type(n)
  14. 浅谈压缩感知(二十三):压缩感知重构算法之压缩采样匹配追踪(CoSaMP)
  15. QueryRunner类实战
  16. 【java】函数重载
  17. share a story on OSPF &amp; BGP
  18. IO的概念
  19. CentOS 6.7 编译PHP7 make时出现错误:undefined reference to `libiconv_close’
  20. PAT——1015. 德才论

热门文章

  1. K8S学习笔记之Kubernetes核心概念
  2. Prometheus监控学习笔记之Prometheus的架构及持久化
  3. mybatis generator 生成中文注释
  4. Hibernate properties文件
  5. Overture 5入门之如何设置延音线
  6. 用uniGUI做B/S下业务系统的产品原型体验
  7. 网络存储结构简明分析—DAS、NAS和SAN 三者区别
  8. 那些离不开的 Chrome 扩展插件
  9. matlab练习程序(k-means聚类)
  10. 终于掌握vim的寄存器和系统剪贴板的使用了- 要安装vim-X11包