当前位置: 首页 > 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.dtcms.com/a/328449.html

相关文章:

  • 深度解析 AS32S601 芯片 CAN Bus Off 机制:从原理到应用的全流程指南
  • 浏览器CEFSharp+X86+win7 之 全球外贸电商平台订单管理(十)
  • 前后端分离项目中Spring MVC的请求执行流程
  • uni-app实战教程 从0到1开发 画图软件 (学会画图)
  • Ceph BlueStore存储引擎详解
  • 【数据结构】并查集:从入门到精通
  • 《Linux基础知识-1》
  • docker-compose搭建 redis 集群
  • 阿里巴巴开源多模态大模型-Qwen-VL系列论文精读(一)
  • VBS 时间函数
  • 基于 libwebsockets 库实现的 WebSocket 服务器类
  • Shader warning in ‘Universal Render Pipeline/Particles/Simple Lit‘
  • provide()函数和inject()函数
  • 【UEFI系列】Super IO
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-语音评测
  • 嵌入式学习(day25)文件IO:open read/write close
  • VGG改进(2):基于Local Attention的模型优化
  • 书籍数组中未出现的最小正整数(8)0812
  • 《飞算JavaAI:新一代智能编码引擎,革新Java研发范式》
  • 跑腿平台开发实战:同城O2O系统源码的模块化与可扩展性方案
  • 每日一练:将一个数字表示成幂的和的方案数;动态规划、深度优先搜索
  • 【Altium designer】快速建立原理图工程的步骤
  • 2025开放计算技术大会|开源开放推动系统创新 加速AIDC全球协作
  • 过拟合、欠拟合与方差/偏差的关系
  • Langchain结合deepseek:框架+模型的AI测试实践
  • 小白学习pid环控制-实现篇
  • 杰里平台7083G 如何支持4M flash
  • 【oracle闪回查询】记录字段短时间被修改的记录
  • MyBatis-Plus核心内容
  • AAC音频编码器技术详解:原理、应用与发展