ЦСИ / styles.scss
Для глобального CSS, который будет применяться ко всему приложению и всем компонентам. Здесь вы можете применить стиль к body
без проблем.
example.component.scss
Это CSS, который будет ограничен и применен только к этому конкретному компоненту. Здесь вы не сможете применить стиль к элементу body
.
Вы все еще можете пробить границы границ ...
При использовании таких компонентов, как mat-paginator
внутри, скажем, например, example.component.ts
, CSS из mat-paginator
фактически находится "вне" области действия example.component.ts
компонента, поскольку mat-paginator
имеет свою собственную область. Таким образом, вы можете пробить теневой дом, используя :: ng-deep , чтобы применить CSS.
Рабочий пример с кодом ниже: https://stackblitz.com/edit/angular-stackoverflow-53241725
/* not working because the class is not directly inside this component */
.mat-paginator-container {
background: yellow;
}
/* working because `ng-deep` pierce through the shadow-dom */
::ng-deep .mat-paginator-container {
background: red;
}
Предлагаемая документация
Официальная угловая документация по стайлингу:
https://angular.io/guide/component-styles
Отличный блог, объясняющий инкапсуляцию CSS: https://blog.angular.io/the-state-of-css-in-angular-4a52d4bd2700