If you want to change the theme’s background color for the entire app in a clean way, you can override your theme with the following.
// Set custom background color $custom-background-color: map_get($mat-blue-grey, 50); // -or- Can set colour by hex value too $custom-background-color: #628cc9; $background: map-get($theme, background); $background: map_merge($background, (background: $custom-background-color)); $theme: map_merge($theme, (background: $background));
This assumes you have already set up your
mat-dark-theme. Of course you can substitute
$mat-blue-grey for a color map of your choosing.
Here is a full example of how I am using this. I have the following in a file called
theme.scss, which is included in my
angular.json “styles” entry:
// Include the common styles for Angular Material. We include this here so that you only // have to load a single css file for Angular Material in your app. // Be sure that you only ever include this mixin once! @include mat-core; // Define the palettes for your theme using the Material Design palettes available in palette.scss // (imported above). For each palette, you can optionally specify a default, lighter, and darker // hue. $primary: mat-palette($mat-red, 600, 400, 900); $accent: mat-palette($mat-blue-grey, 500, 200, 700); $background-color: map_get($mat-blue-grey, 50); // The warn palette is optional (defaults to red). $warn: mat-palette($mat-blue); // Create the theme object (a Sass map containing all of the palettes). $theme: mat-light-theme($primary, $accent, $warn); // Insert custom background color $background: map-get($theme, background); $background: map_merge($background, (background: $background-color)); $theme: map_merge($theme, (background: $background)); // Include theme styles for core and each component used in your app. // Alternatively, you can import and @include the theme mixins for each component // that you are using. @include angular-material-theme($theme); @include my-app-theme($theme);