使用主要styles.scss中的Material变量

时间:2017-12-25 09:03:30

标签: angular sass angular-material2

我的应用styles.scss中包含以下代码:

@import '~@angular/material/theming';
// Plus imports for other components in your app.

// 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.
$candy-app-primary: mat-palette($mat-blue);
$candy-app-accent:  mat-palette($mat-light-blue, A200, A100, A400);

// The warn palette is optional (defaults to red).
$candy-app-warn:    mat-palette($mat-red);

// Create the theme object (a Sass map containing all of the palettes).
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);

// 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($candy-app-theme);

如何在另一个组件sass文件中使用$candy-app-primary颜色?

.extend-toolbar {
  background-color: $candy-app-primary; // What I need to import in order to use that, if it's even possible?
  color: white;
}

2 个答案:

答案 0 :(得分:0)

$candy-app-primary创建一个单独的文件。 这个创建的文件包含在使用@import的style.scss和component scss中 这有帮助

答案 1 :(得分:0)

使用Angular Material中的mat-color SASS mixin。

以下是一些示例用法:

@import '~@angular/material/theming';
@import 'app-theme.scss';

.extend-toolbar {
    background-color: mat-color($candy-app-primary);
    color: white;
}

有关详细信息,请查看docs