解决 postcss-px 组件,动态配置的页面样式不能适应问题。

js 复制代码
const pxToRem = (px:any) => {  
if(!px) return ''  
if( typeof px === 'string'){  
// eslint-disable-next-line no-param-reassign  
px = Number(px)  
}  
// console.log('px', px)  
return `${(px/2)/(1600/20)}rem`  
}

方法先双手供上,寥表诚意。

理论上,该方法解决了px转 rem 的问题。对 postcss-px2rempostcss-px-to-viewport 或者其他 postcss 衍生的组件应用场景下同样有效,是一个很好的补充。

===========

目前情况是这样的,项目上搞了一个配置活动页面的功能,一个管理端,一个 PC 端,管理端有预览页面和iframe 加载的 0.5x 的预览页面,PC端有一个完整的预览页面。 如果浏览窗口过小或者过大的话,配置页初始化的图片、视频、pading、圆角等尺寸会跟项目打包时候 postcss 处理过的项目的样式产生冲突,导致页面尺寸出现各种问题。情况如下:

[这里放个小尺寸场景图,基本能够看个大概]

后来就开始研究怎么解决,先是考虑就把客户提出的主要的顶部间距的 paddingTop 值按照浏览器屏幕主要尺寸版本乘一下系数,解决下就好,但是这个方法还是解决不了低分辨率下的渲染问题,也就是配置的页面没法预览。情况如下:

所以还是需要从根本上寻找解决问题的方法,去了解下 postcss 的工作方式,最终得到了上面的方法。这里记录下,以便日后取用,同时回馈社区。具体用例如下:

~

相关推荐
dami_king4 天前
PostCSS安装与基本使用?
前端·javascript·postcss
ordinary905 天前
postcss插件-实现vw适配
前端·javascript·postcss
JoeChen.1 个月前
PostCSS插件——postcss-pxtorem结合动态调整rem实现字体自适应
javascript·ecmascript·postcss
子醉2 个月前
Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题
前端·vue.js·postcss
全栈技术负责人2 个月前
postcss-loader运行报错
前端·javascript·postcss
wswmsword3 个月前
增强 vw/rem 移动端适配,适配宽屏、桌面端、三折屏
前端·响应式设计·postcss·移动端适配·浏览器适配
TonyH20024 个月前
webpack 4 的 30 个步骤构建 react 开发环境
前端·css·react.js·webpack·postcss·打包
Fenderisfine4 个月前
使用 vite 快速初始化 shadcn-vue 项目
前端·css·vue.js·前端框架·postcss
今天吃了嘛o4 个月前
Vue3中使用tailwindcss插件
前端·css·postcss
vivo互联网技术4 个月前
一次基于AST的大规模代码迁移实践
postcss·代码迁移·抽象语法树ast·gogocode