当前位置: 首页 > wzjs >正文

虫部落是谁做的网站个人怎么做免费百度推广

虫部落是谁做的网站,个人怎么做免费百度推广,常州市建设工程交易网,品牌网购和实体店区别在 Vue 3 Vite 项目中使用 postcss-pxtorem 自动将 px 单位转换为 rem 单位,可以按照以下步骤配置: 一、基础版本 1. 安装依赖 首先安装必要的插件: npm install postcss postcss-pxtorem autoprefixer -D # 或 yarn add postcss postcs…

在 Vue 3 + Vite 项目中使用 postcss-pxtorem 自动将 px 单位转换为 rem 单位,可以按照以下步骤配置:

一、基础版本

1. 安装依赖

首先安装必要的插件:

npm install postcss postcss-pxtorem autoprefixer -D
# 或
yarn add postcss postcss-pxtorem autoprefixer -D

2. 在vite.config.ts中引入并配置

  css: {preprocessorOptions: {
//less配置,不需要注释掉less: {math: "always", // 括号内才使用数学计算globalVars: {// 全局变量mainColor: "red",},},},postcss: {plugins: [postcssPxtorem({rootValue: 37.5, // UI设计稿的宽度/10unitPrecision: 3, // 转rem精确到小数点多少位propList: ["*"], // 需要转换的属性 *表示所有selectorBlackList: ["ignore"], // 不进行px转换的选择器replace: true, // 是否直接更换属性值,而不添加备用属性mediaQuery: false, // 是否在媒体查询的css代码中也进行转换minPixelValue: 0, // 设置要替换的最小像素值exclude: /node_modules/i, // 排除node_modules文件夹下的文件}),autoprefixer,],},},

3. 创建一个rem.js文件 内容如下,再在入口文件中去引入该文件

// 判断是否是PC端
const isPc = !/Android|iPhone|SymbianOS|Windows Phone|iPad|iPod/i.test(navigator.userAgent
);
// 设置基础根文件大小
let baseSize = 37.5;
// rem 函数
function setRem() {const clientWidth = document.documentElement.clientWidth;// 设计稿一般都是以375的宽度let scale = clientWidth / (baseSize * 10);// 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)let enlarge = 1.5;if (isPc) {enlarge = 1;scale = clientWidth / 980; // 980 是PC端设计稿的宽度}document.documentElement.style.fontSize =baseSize * Math.min(scale, enlarge) + "px";
}
// 调用方法
setRem();// 监听窗口在变化时重新设置跟文件大小
window.onresize = function () {setRem();
};export default {};

4. 在main.js中引入

import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import router from "./router/index";
import "mapbox-gl/dist/mapbox-gl.css";
import "./utils/rem";
const app = createApp(App);app.use(ElementPlus);
app.use(router);
app.mount("#app");

二、详细版本

1. 安装依赖

首先安装必要的插件:

npm install postcss postcss-pxtorem autoprefixer -D
# 或
yarn add postcss postcss-pxtorem autoprefixer -D

2. 配置 postcss.config.js

在项目根目录创建或修改 postcss.config.js 文件:

module.exports = {plugins: {'postcss-pxtorem': {rootValue: 16, // 基准值(1rem = 16px)propList: ['*'], // 需要转换的属性,*表示所有selectorBlackList: ['.el-'], // 忽略包含.el-的class(不转换Element Plus样式)minPixelValue: 2 // 小于2px不转换},autoprefixer: {} // 自动添加浏览器前缀}
}

3. 修改 vite.config.ts

确保 Vite 已启用 PostCSS:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'export default defineConfig({plugins: [vue()],css: {postcss: {// 自动读取postcss.config.js}}
})

4. 动态设置基准值(可选)

main.ts 中设置 HTML 根字体大小(通常基于设计稿宽度):

// 根据设计稿调整(设计稿宽度/10)
function setRemUnit() {const docEl = document.documentElementconst ratio = docEl.clientWidth / 1920 // 1920是设计稿宽度docEl.style.fontSize = 16 * Math.min(ratio, 2) + 'px' // 限制最大缩放
}setRemUnit()
window.addEventListener('resize', setRemUnit)

5. 注意事项

  1. Element Plus 适配

    • 通过 selectorBlackList 忽略 Element 组件样式
    • 或单独配置 Element 的 rem 比例
  2. 样式写法

    /* 转换前 */
    .dialog-wrapper {width: 240px;padding: 12px;
    }/* 转换后(假设rootValue=16) */
    .dialog-wrapper {width: 15rem;padding: 0.75rem;
    }
    
  3. 开发环境检查

    • 确认转换生效:检查浏览器开发者工具中的最终样式
    • 可以通过 /* px-to-viewport-ignore-next */ 注释跳过特定行的转换

完整配置示例

// postcss.config.js
module.exports = {plugins: {'postcss-pxtorem': {rootValue: 16,propList: ['*', '!border*'], // 不转换border相关属性exclude: /node_modules\/element-plus/ // 忽略element-plus},autoprefixer: {overrideBrowserslist: ['last 2 versions']}}
}

这样配置后,项目中的 px 单位会自动转换为 rem,实现响应式布局。设计稿测量值可以直接写 px,编译时会自动计算 rem 值。


注意事项

  1. 热更新问题
    修改PostCSS配置后需重启dev server

  2. 单位混合警告
    避免出现 calc(100px + 2rem) 这种混合单位写法

  3. 第三方库兼容
    对使用固定px的库(如地图组件),需通过 selectorBlackList 排除

  4. VS Code提示
    安装 PostCSS Language Support 插件获得代码提示


通过以上配置,您的项目将实现:

  • 精准的px到rem转换
  • 完美的Element Plus组件兼容
  • 响应式的布局适配
  • 高效的开发调试体验
http://www.dtcms.com/wzjs/478578.html

相关文章:

  • 国务院关于新时期政府网站建设英文谷歌seo
  • 家用云做网站seo指的是搜索引擎营销
  • b站短链接生成百度推广退款电话
  • vs2013如何做网站网站查询关键词排名软件
  • 响水做网站的公司seo网站推广是什么
  • 厦门做公司网页娃百度关键词优化多久上首页
  • 海南海口做网站产品推广计划方案
  • 外网网站管理制度建设360竞价推广开户多少钱
  • 企业创建网站的途径百度网盘app怎么打开链接
  • 视觉设计包括哪些福州百度快速优化排名
  • 网站商城怎么做appapp注册推广任务平台
  • 网站百度未收录商桥安装显示电商培训课程
  • 高端网站建设推广朋友圈广告怎么投放
  • 自己的网站打不开了seo站长博客
  • 物联网设计大赛官网seo优化的方法有哪些
  • 星座 网站 建设网上国网推广
  • 金华网站建设luopan线上推广方案怎么写
  • 哪些网站可以做问卷调查赚钱百度收录好的免费网站
  • 网站视频下载网络运营主要做什么工作
  • 安阳网站建设优化谁有推荐的网址
  • 郑州做网站云极厦门关键词排名提升
  • 网站建设公司出路软文媒体
  • 做网站得多少钱谷歌seo是什么意思
  • 网站建设荣茂列表网推广效果怎么样
  • wordpress 关键词链接插件百度快速优化软件排名
  • 找人做网页要多少钱seo技术306
  • 中山网站的建设新闻式软文经典案例
  • 赣州服装网站建设网站关键词优化排名软件系统
  • 嘉峪关建设路小学网站软文网站推广法
  • 四川网站建设培训网站优化有哪些技巧