postcss-px-to-viewport做前端自适应,适用于pc和移动

注意 ⚠️:
1、直接在dom元素上使用 style 是不会被转换的
2、用类选择器、id选择器等才会被转换
3、element-ui、vant-ui 等UI组件库 默认会被转换

1.下载 postcss-px-to-viewport 插件

npm i postcss-px-to-viewport --save-dev

2.在vite.config.ts中添加配置

第一种配置:

import pxtovw from 'postcss-px-to-viewport'
const loder_pxtovw = pxtovw({
//这里是设计稿宽度 自己修改
  viewportWidth: 1920,
  viewportUnit: 'vw'
})
export default defineConfig({
  plugins: [vue()],
  css: {
    postcss: {
      plugins: [loder_pxtovw]
    }
  }
})

第二种配置:

postcss: {
  plugins: [
     require("postcss-px-to-viewport")({
            unitToConvert: "px",// 要转化的单位
            viewportWidth: 750,// UI设计稿的宽度
            unitPrecision: 3,// 转换后的精度,即小数点位数
            propList: [
              "*"
            ],// 指定转换的css属性的单位,*代表全部css属性的单位都进行转换
            viewportUnit: "vw",// 指定需要转换成的视窗单位,默认vw
            fontViewportUnit: "vw",// 指定字体需要转换成的视窗单位,默认vw
            landscapeUnit: 'vh',// 横屏时使用的单位
            landscapeWidth: 667,// 横屏时使用的视口宽度
            selectorBlackList: [],// 指定不转换为视窗单位的类名
            minPixelValue: 1,// 默认值1,小于或等于1px则不进行转换
            mediaQuery: false,// 是否在媒体查询的css代码中也进行转换,默认false
            replace: true,// 是否转换后直接更换属性值
            // landscape: false, // 是否处理横屏情况
            exclude: /(\/|\\)(node_modules)(\/|\\)/, // 设置忽略文件,用正则做目录名匹配
          })
  ]
}
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐