有没有办法在 Angular2 组件内的 ng-content 中使用 css?
Is there a way to use css in ng-content inside an Angular2 component?
我试图通过 ng-content
为包含在组件中的子元素包含 css。它似乎还没有在 Angular 2 中实现,或者也许有人已经找到了解决方案,除了将 css 放在通用样式表中?
app.component.ts
<comp-parent>
<comp-child></comp-child>
</comp-parent>
compParent.component.html
<div class="wrapper">
<ng-content></ng-content>
</div>
compParent.component.css
.wrapper > comp-child {
margin-right: 5px; <-- Not applied !!!
}
您可以使用 /deep/
(已弃用)或 >>>
或 ::ng-deep
选择器:
https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep
例如:
.wrapper ::ng-deep comp-child { ... }
请注意,>>>
似乎不适用于基于 angular-cli 的项目。
将类应用于将要渲染的html。
app.component.ts
<comp-parent>
<comp-child></comp-child>
</comp-parent>
@Component({
selector: 'comp-parent',
template: `
<div class="wrapper">
<ng-content></ng-content>
</div>
`
})
export class CompParent { }
@Component({
selector: 'comp-child',
template: `
<div class="comp-child">
<div>
</div>
</div> `,
})
export class CompChild {}
/// In styles.css
.wrapper .comp-child {
margin-left: 50px;
}
这在我的项目中对我有用。
我试图通过 ng-content
为包含在组件中的子元素包含 css。它似乎还没有在 Angular 2 中实现,或者也许有人已经找到了解决方案,除了将 css 放在通用样式表中?
app.component.ts
<comp-parent>
<comp-child></comp-child>
</comp-parent>
compParent.component.html
<div class="wrapper">
<ng-content></ng-content>
</div>
compParent.component.css
.wrapper > comp-child {
margin-right: 5px; <-- Not applied !!!
}
您可以使用 /deep/
(已弃用)或 >>>
或 ::ng-deep
选择器:
https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep
例如:
.wrapper ::ng-deep comp-child { ... }
请注意,>>>
似乎不适用于基于 angular-cli 的项目。
将类应用于将要渲染的html。
app.component.ts
<comp-parent>
<comp-child></comp-child>
</comp-parent>
@Component({
selector: 'comp-parent',
template: `
<div class="wrapper">
<ng-content></ng-content>
</div>
`
})
export class CompParent { }
@Component({
selector: 'comp-child',
template: `
<div class="comp-child">
<div>
</div>
</div> `,
})
export class CompChild {}
/// In styles.css
.wrapper .comp-child {
margin-left: 50px;
}
这在我的项目中对我有用。