什么是:: shadow和/ deep /的替代品?
两个暗影穿刺组合器已被废弃,如https://www.chromestatus.com/features/6750456638341120
中所述,那么实现相同目的的局限性是什么,或者这种暗影穿透功能已被完全放弃?什么是:: shadow和/ deep /的替代品?
问题是,::shadow
和/deep/
中断封装。我很高兴他们走了。
的良好替代品:
- CSS变量。 它已经与最近推出的谷歌浏览器49.在这里阅读原生支持:
-
:host-context
。在这里阅读:http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/
对于在渲染之前无法访问阴影dom的情况,无法避免使用':: shadow' – RenaissanceProgrammer
@MarcG如果没有破解封装的机制,我该如何重写框架样式? – adamdport
由于聚合物2:
::shadow
(阴影刺穿选择) - 没有直接的替代品。相反,必须使用自定义的CSS属性。 Polymer 2: Custom CSS Properties/deep/
- 有某种定义:host > * { ... }
更换(适用规则集中的所有*儿童在主机的影子树的不与主文档中的规则冲突)。
欲了解更多详细信息来检查Polymer 2 Upgrade Notes
对于一些更换':: shadow'和'的作品现在deep',使用'style'元素你的影子根里面,有像'@import url('/common-style.css')'。请参阅http://*.com/questions/34699350/shadow-piercing-descendant-combinator-deep-including-shadow-pseudo-el/34706299#34706299和http://*.com/questions/30829019/polymer-share -styles-across-elements/32941101#32941101更长期的解决方案是[CSS自定义属性(又名“CSS变量”)](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables )。 – sideshowbarker