无法组合:host-context与:host / deep / tag?

时间:2017-09-21 17:58:00

标签: html angular sass

我正在尝试使用角度2构建一个双主题应用程序。所讨论的组件css已经使用:host / deep /强制样式化为子组件。

但是我试图根据html主题切换这个样式,并且正在使用:host-context。

我发现当我尝试在:host / deep / tag中嵌套:host-context时,来自:host-context的更改不会呈现。

E.g。

:host /deep/ .box {
    :host-context(.blueTheme) & {
        background-color: blue
    }
}

关于为什么这不起作用的任何想法?

1 个答案:

答案 0 :(得分:0)

<强>更新

所有新浏览器现在都支持

::slotted,并且可以与`ViewEncapsulation.ShadowDom

一起使用

https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted

<强>原始

/deep/已弃用。 ::ng-deep是新事物。

我想你想要的是

:host-context(.blueTheme) /deep/ .box {
  background-color: blue
}