css - Angular2 包含 - 将 css 应用于子元素类

标签 css angular transclusion

我有一个名为 dropdown 的控件,它使用了嵌入。注意第二行的 'dropdown-content' 类:

<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;
    }
`]

但是似乎没有应用样式规则。我假设我的努力因与 shadow 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供引用

关于css - Angular2 包含 - 将 css 应用于子元素类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37989077/

相关文章:

css - 显示内联 block 以正确的方式实现这一点

php - Localhost over network - CSS 文件在通过网络访问时被缓存而不更新

css - 使用 Bootstrap 4 的 Flex Box 填充未知高度的空间

javascript - Protractor 错误 : Failed to connect, 请重试

javascript - Angular : How to create a transcluding element directive that keeps attribute directives and can add new ones?

asp.net - 主页未正确加载

javascript - 在 Typescript 上使用带有本地参数的 toLocaleLowerCase 方法

angular - ngc 命令在 angular 应用程序中做什么?

angularjs - ng-if 在嵌入作用域中破坏作用域继承

javascript - ng-transclude 会停止 Angular.js 中的事件传播吗?