Я добавил ::ng-deep
комбинатор для ссылки на проецируемый контентный элемент в моем компоненте. Но когда я переключился из режима по умолчанию (ViewEncapsulation.Emulated
) в режим ViewEncapsulation.ShadowDom
, очевидно, ::ng-deep
не являлся родным селектором Shadow DOM, старый CSS не работал.
/* This works in ViewEncapsulation.Emulated */
:host ::ng-deep .course-description {
max-width: 360px;
margin: 0 auto;
margin-top: 15px;
user-select: none;
}
Удивительно, но когда я использую /deep/
комбинатор (который удален в Chrome v63 https://developers.google.com/web/updates/2017/10/remove-shadow-piercing) работает нормально для ViewEncapsulation.ShadowDom
в Chrome v75.0.3770.100
/* This works in ViewEncapsulation.ShadowDom */
:host /deep/ .course-description {
max-width: 360px;
margin: 0 auto;
margin-top: 15px;
user-select: none;
}
Можно ли использовать ::slotted()
внутри CSS компонента, чтобы он работал как прежде, но в режиме ViewEncapsulation.ShadowDom
? Если да, то как?