rax-app icon indicating copy to clipboard operation
rax-app copied to clipboard

[RFC] 处理 css variable 降级场景

Open SoloJiang opened this issue 4 years ago • 3 comments

背景

  1. 部分低端机不支持 css variable (安卓 5)
  2. 部分业务有兼容低端机的诉求

产生的问题

  1. 业务自身 css variable 的写法会失效
  2. 不兼容 fusion mobile 现有的样式方案

方案

  1. 通过参数控制开发者是否要降级处理 css variable
  2. 开启降级后,工程内置 postcss-css-variables 处理变量和值的映射关系
    • 开发者可以简单添加映射关系
    • fusion 插件注入 fusion 相关的映射关系

SoloJiang avatar Aug 03 '21 07:08 SoloJiang

fusion 插件在小程序上的做法:https://github.com/lianmin/rax-app/blob/feat/plugin-fusion-mobile/packages/plugin-fusion-mobile/src/utils/removeCssVar.js#L7

SoloJiang avatar Aug 03 '21 07:08 SoloJiang

方案还要再看下,可能会影响动态换肤(暗黑模式切换),支持 preserve 变量,这样在低端机上降级就好,唯一的问题是部分样式冗余。兼容性上来看,css variable 在端内的支持是 ok 的。

SoloJiang avatar Aug 03 '21 14:08 SoloJiang

fusion 在小程序上降级处理的原因是:变量映射表比较影响小程序代码体积

SoloJiang avatar Aug 30 '21 06:08 SoloJiang