当前位置: 首页 > news >正文

解决微前端子应用嵌入后样式被覆盖

在最近微前端子应用的「xxx 弹窗」需求中,遇到一个样式覆盖问题:
弹窗在子应用单独运行时表现正常,但嵌入主应用后样式错乱

原本样式:

嵌入后样式:

现象

  • F12 发现:

    1. 弹窗 DOM 仍被追加到 <body>(qiankun 默认行为);

    2. 所有 class 被自动加上子应用前缀,导致权重降低;

    3. 主应用后加载的 Element-UI 样式把子应用的 v-deep + !important 覆盖。

解决思路

  1. 隔离挂载点
    不再让 Dialog 默认挂到 <body>,而是插入到子应用自身的容器内,从根源上避免主应用样式干扰。

  2. 官方属性
    Element-UI <el-dialog> 提供 append-to-body / modal-append-to-body,正好能满足“指定挂载容器”的需求。

  3. dialog代码中添加以下内容:

<el-dialogtitle="xxx":visible.sync="visible"
+ :append-to-body="false"
+ :modal-append-to-body="false"width="30%">…内容…
</el-dialog>
  • :append-to-body="false"
    把 Dialog DOM 插到当前父节点(子应用根节点)而非 <body>

  • :modal-append-to-body="false"
    同时让遮罩层也留在同一容器,确保层级关系不混乱。

结果

样式恢复,主/子应用样式完全隔离,无需再写更高权重的覆盖代码。

http://www.lryc.cn/news/618632.html

相关文章:

  • C++11语法(2)
  • python判断当天是否是当月最后一天
  • Python 常用的正则表达式
  • 未解决|服务的注册与发现|一个api怎么调用到另一个服务的API
  • Spring Boot部署万亿参数模型推理方案(深度解析)
  • gpt-5与gpt-5-fast
  • SQL 与 NoSQL 的核心区别
  • 力扣-739.每日温度
  • 高效解耦:自定义内核链表实现指南(简化版)
  • Java进阶学习之不可变集合
  • 数据分析学习总结之实例练习(双十一淘宝美妆)
  • 非凸科技受邀参加Community Over Code Asia 2025 Rust分论坛
  • C#教程之NPOI读写excel文件XLS,XLSX格式
  • FPGA自学——FIFO缓存器
  • VisionPro——1.VP与C#联合
  • 初识数据结构——优先级队列(堆!堆!堆!)
  • 模板打印技术——Office XLS 打印模板:为政务土地确权定制的纸张替换利器—仙盟创梦IDE
  • LE AUDIO---Volume Control Service
  • Kimi K2 架构深度解析:万亿MoE模型的效率革命与智能体突破
  • 用STM32单片机控制支持正反转的电调
  • 1、JVM内存模型剖析及优化
  • Altium Designer 22使用笔记(6)---板框导入、自绘板框、原点设置
  • 荣耀手机无法连接win11电脑,错误消息:“无法在此设备上加载驱动程序 (hn_usbccgpfilter.sys)。”解决方案
  • 【Linux】Ext系列文件系统
  • 数据结构:后缀表达式:结合性 (Associativity) 与一元运算符 (Unary Operators)
  • 现代化水库运行管理矩阵建设的要点
  • AI Agent——基于 LangGraph 的多智能体任务路由与执行系统实战
  • 【实时Linux实战系列】实时能耗监测与优化技术
  • 《吃透 C++ 类和对象(上):封装、实例化与 this 指针详解》
  • Python训练营打卡Day30-文件的规范拆分和写法