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

~

相关推荐
子醉16 天前
Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题
前端·vue.js·postcss
全栈技术负责人1 个月前
postcss-loader运行报错
前端·javascript·postcss
wswmsword2 个月前
增强 vw/rem 移动端适配,适配宽屏、桌面端、三折屏
前端·响应式设计·postcss·移动端适配·浏览器适配
TonyH20023 个月前
webpack 4 的 30 个步骤构建 react 开发环境
前端·css·react.js·webpack·postcss·打包
Fenderisfine3 个月前
使用 vite 快速初始化 shadcn-vue 项目
前端·css·vue.js·前端框架·postcss
今天吃了嘛o3 个月前
Vue3中使用tailwindcss插件
前端·css·postcss
vivo互联网技术3 个月前
一次基于AST的大规模代码迁移实践
postcss·代码迁移·抽象语法树ast·gogocode
theMuseCatcher3 个月前
Vue3+TypeScript+Vite+Less 开发 H5 项目(amfe-flexible + postcss-pxtorem)
typescript·less·postcss
你不讲 wood3 个月前
postcss 插件实现移动端适配
开发语言·前端·javascript·css·vue.js·ui·postcss
valvesz661055563 个月前
QDY421F-16P-25液氨不锈钢液动紧急切断阀
安全·制造·postcss