В Angular 7 - Как стиль HTML, который проецируется с использованием ng-контента.
Технология : Angular 7, Angular CLI, SASS, HTML5, Webpack.
Мой код:
Примечание : html моего компонента с включением / проекцией.Этот компонент имеет файл scss, и html, который проходит через ng-контент, может быть стилизован только при использовании ng-deep, например: host :: ng-deep
<table>
<ng-content></ng-content>
</table>
Это мой sassдля вышеупомянутых компонентов html:
:host::ng-deep {
table {
background-color: map-get($theme-brand, flat);
display: flex;
flex-direction: column;
border: 1px solid map-get($theme-contrast, contrast-8);
border-radius: 5px;
tr {
display: flex;
justify-content: flex-end;
}
th, td {
@extend %p-2;
word-break: break-all;
align-items: center;
display: flex;
text-align: right;
width: 250px;
color: map-get($theme-typography-color, regular);
&:first-child {
text-align: left;
border: none;
width: 100%;
}
}
}
}
Примечание : Таким образом, вышеупомянутые CSS для tr и th, td не будут стилизованы из-за проекции, препятствующей стилизации, если яиспользуйте ng-deep.
Вещи пробовали :
- ng-deep (который работает, но не хочет использовать его как устаревший браузерами).