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

~

相关推荐
米丘4 天前
vue3.5.x 单文件组件(SFC)样式编译过程
css·vue.js·postcss
Mr.mjw6 天前
vue中使用 postcss-px-to-viewport 插件实现多屏适配
javascript·vue.js·postcss
花归去15 天前
在 Vue 项目中配置 postcss-preset-env
vue.js·webpack·postcss
不想吃菠萝1 个月前
vue3+ts 使用postcss-pxtorem依赖进行rem适配
前端·javascript·vue.js·postcss
CappuccinoRose2 个月前
CSS 语法学习文档(十三)
前端·css·学习·postcss·模块化·预处理器
前端小菜袅3 个月前
PC端原样显示移动端页面方案
开发语言·前端·javascript·postcss·px-to-viewport·移动端适配pc端
AI老李3 个月前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
C_心欲无痕4 个月前
css - 预处理器sass与后处理器postcss
css·sass·postcss
Dragon Wu4 个月前
TailWindCss 核心功能总结
前端·css·前端框架·postcss