vuePC端px转为rem自适应

提示

UI框架部分组件使用JavaScript将css作为内联样式直接写在html标签内,打包适配时不会读取相关内联css,所以要配置相关样式,在style中需要" !important "进行样式覆盖

一、安装postcss-px2rem及px2rem-loader

npm install postcss-px2rem px2rem-loader --save

二、在根目录src中新建utils目录下新建rem.js等比适配文件

// rem等比适配配置文件
// 基准大小
const baseSize = 16;
// 设置 rem 函数
function setRem() {
  // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 1920;
  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize =
    baseSize * Math.min(scale, 2) + "px";
}
// 初始化
setRem();
// 改变窗口大小时重新设置 rem
window.onresize = function() {
  setRem();
};

三、在main.js中引入适配文件

import './utils/rem'

四、到vue.config.js中配置插件

// 引入等比适配插件
const px2rem = require("postcss-px2rem");

// 配置基本大小
const postcss = px2rem({
  // 基准大小 baseSize,需要和rem.js中相同
  remUnit: 16,
});

// 使用等比适配插件
module.exports = {
  lintOnSave: true,
  // 此三行代码是为项目打包运行所写----
  publicPath: "./", 
  outputDir: "dist",
  assetsDir: "static",
  //---------------------------
  css: {
    loaderOptions: {
      postcss: {
        plugins: [postcss],
      },
    },
  },
};
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 HTML 中使用 postcss-pxtorem 实现自适应屏幕的步骤如下: 1. 安装 postcss-pxtorem 插件: 可以使用 npm 安装:`npm install postcss-pxtorem --save-dev` 2. 在项目中创建 postcss.config.js 文件: 在项目根目录下新建一个 postcss.config.js 文件,用于配置 postcss-pxtorem 插件。 ```javascript module.exports = { plugins: { "postcss-pxtorem": { rootValue: 16, // 根字体大小,16px 为默认值 propList: ["*"] // 需要换的 CSS 属性,默认为 ['*'] } } }; ``` 3. 在项目中安装并使用 postcss-loader: postcss-loader 可以帮助我们在构建项目时自动运行 postcss 插件。 可以使用 npm 安装:`npm install postcss-loader --save-dev` 在 webpack 配置文件中添加 postcss-loader: ```javascript module.exports = { module: { rules: [ { test: /\.css$/, use: [ "style-loader", "css-loader", { loader: "postcss-loader", options: { ident: "postcss", plugins: [require("postcss-pxtorem")()] } } ] } ] } }; ``` 4. 在 CSS 中使用 px 单位编写样式: 在 CSS 中使用 px 单位编写样式,postcss-pxtorem 插件会自动将其换为 rem 单位。 例如,假设设计稿中某个元素的宽度为 100px,那么在 CSS 中可以这样写: ```css .box { width: 100px; } ``` 在 postcss-pxtorem 插件的换下,该样式会被换为: ```css .box { width: 6.25rem; /* 假设根字体大小为 16px */ } ``` 通过以上步骤,就可以在 HTML 中使用 postcss-pxtorem 实现自适应屏幕了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值