微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angular2 transclusion – 将css应用于子元素类

我有一个名为dropdown的控件,它使用transclusion.请注意第二行的“下拉内容”类:

<div>
  <div *ngIf="dropdownVisible" class="dropdown-content">
    <ng-content select="dropdowncontent"></ng-content>
  </div>
</div>

我已经构建了第二个控件,试图使用第一个控件:

<dropdown>
  <dropdowncontent>
     //some stuff here
  </dropdowncontent>
</dropdown>

我正在尝试在第二个控件中使用样式注释将样式应用于第一个控件中的下拉内容类.

styles: [`
    .dropdown-content {
        border: green solid 5px;
    }
`]

但是,似乎没有应用样式规则.我认为我的努力因与影子dom有关而受到阻碍,但我不确定.

是否有父控件将样式应用于子控件?

一旦渲染了控件,html的开头如下所示:

<dropdown _ngcontent-lgf-3="" _nghost-lgf-4="">
    <div _ngcontent-lgf-4="">
    <div _ngcontent-lgf-4="" class="dropdown-content">
            <dropdowncontent _ngcontent-lgf-3="">

这表明在最终的html中正在生成类“dropdown-content”.

解决方法

从父scss文件你可以去

:host /deep/ .child-css-class {
    some-scss
}

see here供参考

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐