css隔离shadow

h5 里面有很多标签都用到了,比如,音频,视频
方式 样式 污染,并且不会被修改

  <!-- css 隔离互不影响 -->
  <p>这个是body 的p 标签</p>
  <div id="shadow"></div>

    // 创建一个 影子节点
    const shadowDom = document.getElementById("shadow").attachShadow({mode: "closed"})
    // 创建影子里面的内容
    let pele = document.createElement("p")
    pele.innerHTML = "这个是影子里面的p"
    // 增加影子里面独有的 style
    let eleStyle = document.createElement("style")
    eleStyle.textContent = `
     p {color: red}
    `
    // 创建的属性,加载影子身上
    shadowDom.appendChild(pele)
    shadowDom.appendChild(eleStyle)

Uniapp 是一种基于 Vue.js 并支持跨平台开发的框架,它使用 Shadow DOM 技术来实现组件的封装和样式隔离。要修改 Uniapp 中的 Shadow DOM 样式,可以通过以下步骤进行操作: 1. 打开 Uniapp 项目的相关组件文件。在组件文件中,每个组件的样式都是独立的,被封装在组件的 Shadow DOM 内。 2. 使用浏览器的开发者工具,查找想要修改的组件元素。在开发者工具中,可以通过选择器或查询组件的 class、id 或标签名来定位到相应的元素。 3. 在定位到的元素上,查看其对应的 Shadow DOM 树结构,找到需要修改的目标元素。 4. 在 Uniapp 中,可以通过使用 ::part 或 ::deep 伪类选择器来修改 Shadow DOM 内部元素的样式。例如,如果有一个 class 为 "target-ele" 的元素需要修改样式,可以在组件的样式中加入如下代码: ``` >>> .target-ele { // 修改样式 } ``` 5. 如果修改的是组件内部的全局样式,可以在组件的样式中使用 :host 选择器。例如: ``` :host { // 修改样式 } ``` 6. 修改样式后,保存文件并刷新 Uniapp 页面,即可看到修改后的样式生效。 需要注意的是,修改 Shadow DOM 样式可能会影响到其他组件或页面的样式,因此在修改样式时应尽量遵循组件的封装原则,确保样式的独立性和可重用性。同时,修改 Shadow DOM 样式可能会导致代码的维护难度增加,因此在实际开发中应谨慎使用这种方法,优先考虑使用组件提供的样式参数或插槽等方式来实现样式的定制化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值