如https://www.chromestatus.com/features/6750456638341120中所述,这两个穿孔阴影的组合器已经被弃用了.
那么实现同样的东西是什么,或者这个阴影穿透功能已被完全抛弃了?
阴影dom封装css样式,选择器不跨越阴影边界.
问题:如何在影子dom中使用全局常见的css样式?
(假设有一些常用的CSS样式将用于所有页面(例如:font-family,h1,h2,clear,reset ...),如何使它在阴影dom中工作?)
我正在寻找一种从外部设计阴影DOM的方法.例如,我想将所有'span.special'元素中所有文本的颜色设置为RED.包括来自shadow DOM的'span.special'元素.我怎么能这样做?
以前为此目的有:: shadow伪元素和/ deep / combinator aka >>>.所以我可以写一些像
span.special, *::shadow span.special {
color: red
}
Run Code Online (Sandbox Code Playgroud)
但是现在:: shadow,/ deep /和>>>已被弃用.那么,我们有什么替代它们?
这个答案提到/deep/可以用来选择跨DOM DOM边界的元素.但是,我已经有一个客户购买的主题样式表.是否可以使样式表中的选择器跨越阴影DOM边界而不更改样式表本身?其他地方建议使用,applyAuthorStyles但这似乎从影子DOM规范中删除.
假设我们有一些类似于动画CSS加载器的CSS代码,我们希望在所有使用Shadow DOM的Web组件中使用它们.如果我们无法像使用::shadow和那样刺穿Shadow DOM,我们如何重新使用这个CSS代码/deep/?
我们甚至无法<link />在阴影DOM中添加,所以目前我强制通过多个<style>标签复制代码.
我真的想知道这种用例的建议最佳实践是什么.
谢谢.
回到另一个聚合物问题,我有一个我正在尝试设计的Polymer/Electron应用程序.
我想创建一个theme.css包含:host我的整个主题的块,然后我可以将其导入到我的模块样式表中,但我尝试了一些不同的东西,并尝试在文档中找到任何内容无济于事.
到目前为止,我已尝试过,并且在<template>定义之外:
<link rel="stylesheet" href="./account-list.css">与@import
<style>@import 'my-theme.css';</style>刚刚超过我<link>
:root,而不是:host我的theme.css
但似乎都不起作用,theme.css肯定是被要求但对模块的风格没有影响.
无论如何有聚合物这样的主题,我真的不希望有一个构建步骤.
shadow-dom ×5
css ×4
javascript ×3
polymer ×2
css3 ×1
electron ×1
html ×1
html5 ×1
styling ×1
web ×1