解决 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 的工作方式,最终得到了上面的方法。这里记录下,以便日后取用,同时回馈社区。具体用例如下:

~

相关推荐
theMuseCatcher5 天前
Vue3+TypeScript+Vite+Less 开发 H5 项目(amfe-flexible + postcss-pxtorem)
typescript·less·postcss
你不讲 wood7 天前
postcss 插件实现移动端适配
开发语言·前端·javascript·css·vue.js·ui·postcss
valvesz6610555610 天前
QDY421F-16P-25液氨不锈钢液动紧急切断阀
安全·制造·postcss
WangConvey18 天前
vue页面自适应 动态 postcss postcss-pxtorem
前端·vue.js·postcss
慢功夫2 个月前
👨一文讲透等比例缩放响应式-px2rem-px2vw
前端·css·postcss
TangAcrab2 个月前
最新 taro v3 运行,报错 Error: [object Object] is not a PostCSS plugin 解决办法
javascript·taro·postcss
三翼鸟数字化技术团队2 个月前
浅谈PostCSS
前端·javascript·postcss
rolling_kitten2 个月前
前端如何让网页页面完美适配不同大小和分辨率屏幕
前端·javascript·css·vue·postcss
小秋菇娘2 个月前
vue 启动项目报错Syntax Error: Error: PostCSS received undefined instead of CSS string
css·vue.js·postcss
Wang's Blog3 个月前
Webpack: 如何借助预处理器、PostCSS 等构建现代 CSS 工程环境
css·webpack·postcss