px转rem插件postcss-plugin-px2rem使用方法(浏览器缩放页面自适应)
1. 常见屏幕自适应的布局
- 百分比布局
- rem布局
- css媒体查询
- 在前端框架设计初期,应优先选择好页面布局方式
2. postcss-plugin-px2rem插件的使用
官网地址:https://www.npmjs.com/package/postcss-plugin-px2rem
- 下载插件
| npm i postcss-plugin-px2rem --save |
复制
- 在vite.config.js
| import px2rem from 'postcss-plugin-px2rem'; |
| |
| const px2remOptions = { |
| rootValue: 16, |
| unitPrecision: 5, |
| |
| |
| exclude:false, |
| |
| |
| |
| mediaQuery: false, |
| minPixelValue: 0 |
| } |
| |
| export default defineConfig({ |
| plugins:[...], |
| css:{ |
| postcss:{ |
| plugins:[px2rem(px2remOptions)] |
| } |
| } |
| }) |
复制
- 在util文件夹中创建pxToRem.js文件
注意:我看其他文章上有做了性能优化,加入了缩放监听防抖。加了防抖,缩放时,会出现那种类似于卡顿的效果,但是性能上确实有优化。(算是牺牲视觉效果增加性能,加不加防抖不妨都试试,看产品需求,因人而异)
| |
| import _ from 'lodash' |
| |
| export const setDomFontSize = () => { |
| let width = document.documentElement.clientWidth || document.body.clientWidth; |
| let fontsize = (width <= 200 ? 1200 : width) / 100 + 'px'; |
| (document.getElementsByTagName('html')[0].style)['font-size'] = fontsize; |
| } |
| |
| |
| |
| window.addEventListener('resize', setDomFontSize); |
| |
| |
复制
- 在main.js中进行配置
| |
| import { setDomFontSize } from './utils/pxToRem' |
| |
| setDomFontSize() |
复制
希望我的方案对大家会有帮助,如有不足,欢迎评论区指正