Если у вас есть контроль над кодом дочернего компонента, вы можете определить customStyle
свойство ввода:
@Input() customStyle: {};
<div class="child-div" [ngStyle]="customStyle">I am the child</div>
и передать его из родительского компонента:
<app-child [customStyle]="style1"></app-child>
style1 = {
backgroundColor: "red",
height: "150px"
}
См. этот стек для демонстрации.
<Ч />
Подобный метод может позволить передать определенный атрибут стиля дочернему компоненту:
@Input() backgroundColor: string;
<div class="child-div" [style.background-color]="backgroundColor">I am the child</div>
из родительского компонента:
<app-child backgroundColor="red"></app-child>
См. этот стек-блиц для демонстрации.
<Ч />
В противном случае, до тех пор, пока Angular не предложит альтернативный метод, вы можете использовать ::ng-deep
пронизывающий тень комбинатор потомков для изменения стиля дочернего компонента из родительского CSS:
:host ::ng-deep .parent .child-div {
background-color: lime;
height: 200px;
}
См. этот стек-блиц для демонстрации.