· 5 min read
微前端样式隔离的本质是"作用域隔离"——子应用样式限定在自己容器内,不污染全局。
- 三种策略:默认不隔离、容器作用域隔离、Shadow DOM 强隔离
- 工程首选:容器作用域,运行时或构建时给规则前置容器 ID
- 核心做法:拦截样式表,自动加
#subapp .btn { ... } - 构建方案:PostCSS 插件打包 阶段前置,零运行时开销
- 根级陷阱:html/body/:root 不能前置,否则全局 reset 失效
- Shadow DOM 代价:Ant Design / Arco 的 Portal 会被拦截,组件渲染错位
- Portal 应对:选库时确认 Modal/Drawer 支持自定义挂载点
- 结论:绝大多数项目走容器作用域,Shadow DOM 留给零污染少数场景