Shadow dom ::part 元素的样式子元素

2023-12-27

我有一个 Web 组件,可以在 Shadow dom 中呈现以下内容:

<custom-banner>
  #shadow-root
    <div part="headertext">
      I am the header text!
    </div>
    ...
</custom-banner>

设计风格headertext,以下 css 效果很好:

custom-banner::part(headertext) {
  border: 5px solid green;
}

现在说我有这样的东西:

<custom-banner>
  #shadow-root
    <div part="headertext">
      I am the header text!
      <span>I am the subheader text!</span>
    </div>
    ...
</custom-banner>

有没有办法瞄准children阴影部分?也就是说,像这样的东西(这似乎不起作用):

custom-banner::part(headertext) span {
  border: 5px solid red;
}

我意识到这种事情可能会削弱整个目的::part,但也许不是?

需要明确的是,副标题跨度是not在这个例子中是一个有槽的孩子。它始终是组件的一部分,并且is在影子dom中。上面的示例是在浏览器中呈现的组件。

Thanks!


唉,你可以唯一的风格 the ::part 节点本身.

不是孩子,那会打败::part目的,
不妨允许allShadowDOM 样式来自outside then. (做不到)

The 出口零件 https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts属性可以传递part父节点的定义

正如评论中提到的; 您可以指定一个<span part="subheader">,
OR你可以使用 CSS 属性,scoped to the part, see --subheader: blue

这完全取决于您想要向组件用户提供多少控制权以及哪种控制权。

好的博客:

  • 为什么我的shadowDOM继承样式 https://lamplightdev.com/blog/2019/03/26/why-is-my-web-component-inheriting-styles/
  • ::parts作者:莫妮卡·丁库列斯库(谷歌):https://meowni.ca/posts/part-theme-explainer/ https://meowni.ca/posts/part-theme-explainer/
<style>
  body {
    /* note how 'inheritable styles' do style shadowDOM */
    font: 28px Arial;
    color: green;
  }
  custom-banner::part(headertext) {
    /* style shadowDOM from global CSS */
    background: pink;
    --subheader: blue;
  }
</style>

<custom-banner></custom-banner>

<script>
  customElements.define("custom-banner", class extends HTMLElement {
    constructor() {
      super()
        .attachShadow({mode:"open"})
        .innerHTML = `<style> span {  color:var(--subheader)  } </style>` +
                     `<div part="headertext">I am the header text!` +
                        `<span>I am the subheader text!</span>` +
                     `</div>`;
    }
  });
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shadow dom ::part 元素的样式子元素 的相关文章

  • Twitter Bootstrap 上的插入符号是如何构建的?

    这更多的是一个好奇问题 而不是我真正需要知道的事情 在本页面 http twitter github com bootstrap components html buttonDropdowns http twitter github com
  • 在响应模式下使用 CSS 更改元素顺序

    图1为桌面模式 下面两张图片和文字 总共三个div 图 2 是我希望它在移动浏览器 例如手机 中的显示方式 关于如何实现这一点有什么想法吗 我愿意接受任何建议 这个想法是让文本显示在图像上方 以最好地说明这两个图像的描述 在桌面版本中将文本
  • 如何在 HTML 中制作三角形?

    我想使用基本的 CSS 在 HTML 页面中制作三角形 我正在使用需要时间加载的三角形图片 因此 我想减少页面的加载时间 HTML 不可能 但 CSS 可以 例子 div class div
  • 简化 CSS 代码

    我怎样才能简化这段代码 user panel subscribe user panel faves user panel tags user panel title user panel calendar a user panel item
  • 获取 CSS 计算结果以设置自定义属性

    我正在测试一个 CSS 框架 用于通过微类指定数字 例如 类似的东西 div class fifty percent wide 可能会翻译成width 50 该实现使用 CSS 变量 自定义属性 考虑以下 CSS fifty number
  • Firefox 忽略背景大小的 css

    尝试使用背景大小 CSS 规则缩小图像 但 Firefox 3 5 似乎会忽略该规则 CSS privatejoker background aqua url styles images home privatejoker png no r
  • 在打印 CSS 上在每个页面周围绘制边框?

    打印时我需要在每个页面周围绘制边框 我最初是使用带有分页符的 div 来完成此操作 例如 media print contentContainer position inline height 98 width 100 top 0px le
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 仅水平 CSS 视差效果,层数大于 100vw

    如何用水平引导网站仅 CSS 视差效果 要求 仅 CSS 视差 父层必须具有宽度 高度 100vw 100vh 子层的宽度 高度必须 gt 100vw 100vh child layers must visually align 100 w
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • Symfony 2 使用 CSS 设置背景图片

    I want to put a background image for a menu in symfony But I can t figure out how to do it I managed to style a lot of t
  • Google 再营销标签 - iframe 高度问题

    我注意到 Google 的再营销代码会在我的页面底部插入一个 iframe 问题是 iframe 弄乱了我的布局 它的高度为 13 像素 并且在底部留下了空白的白色垂直空间 我尝试用 css 隐藏它 但它在 IE9 中仍然可见 iframe
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • 如何设置旋转元素背面的样式?

    我有一个figure它是可旋转的 通过用户输入任意角度 该旋转明显地使用transition财产 当该元件旋转超过 90 度 90 度时 元件的背面可见 我想对元素的通常隐藏的一面进行与正面不同的设计 但我不确定如何实现这一点 figure
  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 在 IE 8 及以下版本中动态添加 @font-face 规则

    我使用 IE stylesheet addRule 方法添加 font face 规则 但是 符号对于该方法的 选择器 参数来说是不允许的字符 因此我收到 无效参数 错误 s addrule font face font family Fo
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • CSS 中的像素与像素密度

    我对 HTML 和 CSS 非常陌生 我突然想到 当决定某个东西是 5px 时 比如说 由于像素的物理尺寸取决于密度 所以 5px 在 100 ppi 的屏幕上看起来肯定比在 300 ppi 的屏幕上看起来更大ppi 这是正确的吗 如果是
  • 如何更改bootstrap中form-control弹出窗口中必填字段的默认消息?

随机推荐

  • mmap 是否与所有进程共享内存?

    当我这样做时 myProgram h myProgram c struct PipeShm all my fields more struct PipeShm myPipe initialization for all fields str
  • 检测何时创建新的托管线程

    有谁知道是否可以检测在托管环境中何时创建新线程 我想要一个应用程序中所有线程的列表 每个线程的 ID 和名称 我在 Visual Studio 中使用并发可视化工具 它仅显示线程 ID 而不是线程名称 如果您有 20 多个没有名称的线程 则
  • Auth::validate 返回 false Laravel 8

    好吧 我正在尝试使用 Auth validate credenciais 通过 Laravel 进行身份验证它不起作用 public function LoginData Request request request gt validat
  • :force => true 在模式文件中意味着什么

    如果你查看 db schema rb 你会看到类似的内容 create table users force gt true do t 什么是 force gt true mean 来自Rails 文档 http api rubyonrail
  • 计算用箭头和鼠标移动的对象

    我正在使用 openGL 做一个 Maya 模拟器应用程序 一切进展顺利 只有一个麻烦 我无法计算出通过鼠标移动物体的 100 准确度 我使用 3D 坐标中的箭头和屏幕坐标中的箭头的缩放 并将其乘以一些缩放来计算屏幕坐标的 x 和 y 方向
  • TensorFlow 嵌入查找

    我正在尝试学习如何使用 TensorFlow 构建用于语音识别的 RNN 首先 我想尝试 TensorFlow 页面上提供的一些示例模型TF RNN https www tensorflow org versions master tuto
  • 如何为 Chrome 上的每个选项卡获取不同的徽章值?

    我正在尝试做像 adblock 那样的事情 Adblock 计算 广告 的数量并更新徽章值 目前 我尝试对 背景页面 执行某些操作 但它们仅运行一次 并且所有选项卡的徽章值都相同 我无法使用浏览器操作 popup html 因为它仅在单击后
  • 在与其他线串的交叉点处匀称分割线串

    我有一组与其他 LineString 相交的 LineString 我想在这些交叉点将 LineString 分割成单独的线段 我有一个解决方案 但我认为这不是最好的方法 假设我们正在处理一个 LineString gt gt gt imp
  • 基于滚动位置的 div 位置

    我希望我的徽标根据网站上的滚动位置垂直上下滚动 就像默认滚动条指示您在网站上的位置一样 我希望我的徽标也能这样做 当您位于网站页面的顶部时 徽标位于顶部 而当您位于底部时 徽标将位于页面底部的垂直栏中 位于网页左侧 我不知道如何解决这个问题
  • Curl_exec 在 php 中返回 null

    我在使用curl操作获取数据时遇到问题 在这里我隐藏了令牌 如果我仅在浏览器中使用网址 那么它会返回数据 但这里它为空
  • 根据条件收集变量 (R)

    我正在阅读 R for Data Science 一书 并希望根据条件 类似于选择 从数据集中 收集 多个变量 具体来说 我想只选择连续变量而不是分类变量 如何在不手动指定变量的情况下完成此任务 下面不行 library tidyverse
  • node.js 将 http 响应写入流

    我正在通过 http 获取一些二进制数据 我的代码如下所示 var writeStream fs createWriteStream fileName request url function err res res socket pipe
  • Gecko(或任何其他布局引擎)如何呈现文档/页面?

    浏览 Gecko 的文档来了解它如何呈现网页有点困难 我正在对主要浏览器上的项目进行一些性能分析 以了解如何提高响应时间 我知道那里有优化技术 但我并不真正理解它们的基础 我相信如果我知道浏览器引擎如何做它们的事情 这个问题就会得到解决 我
  • 如何在角度应用程序中对 router.navigate 进行单元测试 [重复]

    这个问题在这里已经有答案了 我正在为角度应用程序运行单元测试 我想对导航在角度应用程序中是否正常工作进行单元测试 if this customer length 0 this router navigate nocustomer 以及这个的
  • Laravel 4.1:如何对雄辩的渴望关系进行分页?

    存在关于旧的 L3 急切加载分页的问题 而不是使用 eloquent 但我想使用雄辩来获得与分页的热切加载关系 主要型号 Topic与有一对多关系Posts 所以那个Topic有很多Posts 我用这个函数获取所有数据 public fun
  • 在 Objective-C 中,什么实用程序在注释中使用 @brief 标签?

    我刚刚开始使用 Objective C 编程 发现了一些示例注释 如下所示 brief The UIImageView we use to display the image generated from the imageBuffer 目
  • MATLAB 向量化:从向量元素填充结构体字段

    我有一个结构向量 每个结构都有一个字段x s1 x 1 s2 x 2 s3 x 3 S s1 s2 s3 我想设置字段x中所有结构的S从给定向量X 即我想对以下循环进行矢量化 X 97 98 99 for i 1 length S S i
  • 是否有关于设置 Mamp Pro 以便本地网络用户可以查看/编辑站点的明确指南?

    我一直在研究如何设置 LAN Mamp Pro 服务器 以便本地用户可以编辑 查看站点 但似乎有很多混乱 至少根据我阅读的原因 我很困惑 具体问题 将 Apache Mysql 作为 www mysql 运行 当我将用户切换到 www my
  • 反转或反向迭代 unordered_map

    我正在尝试以相反的顺序打印 unordered map 的内容 但是 它没有 rbegin 或 rend 所以你不能使用reverse iterator unordered map 的反转应该如何完成 编辑 来自评论 我希望键按照插入的顺序
  • Shadow dom ::part 元素的样式子元素

    我有一个 Web 组件 可以在 Shadow dom 中呈现以下内容