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, |
| viewportUnit: 'vw', |
| selectorBlackList: ['.ignore', '.hairlines'], |
| minPixelValue: 1, |
| mediaQuery: false |
| }, |
| "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> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?