css - Angular 6 Material 检索 Material 颜色

标签 css angular sass angular-material2

"@angular/material": "^6.2.1" 遇到了一个非常小的问题。 无法在我的应用的任何 css/scss 文件中导入任何标准 Material 颜色,包括 styles.scss

例子:

$app-panel-green: mat-color($mat-green);

在任何 scss 文件中给出此错误:

ERROR in ./src/styles.scss (./node_modules/raw-loader!./node_modules/postcss-loader/lib??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed: 
$app-panel-green: mat-color($mat-green);
                           ^
      Undefined variable: "$mat-green".
      in /**********/src/styles.scss (line 1, column 29)

styles.scss 仅包含(除了之前的):

@import "~@angular/material/prebuilt-themes/deeppurple-amber.css";
/*@import './theme.scss';*/

body { margin: 0; }

和预建主题工作得很好。 我什至不需要自定义主题,只想使用 Material 调色板。

最佳答案

如果你想使用默认调色板之一,你可以这样做:

@import '~@angular/material/theming'; // Pay attention on the path
@include mat-core();
$candy-app-primary: mat-palette($mat-deep-orange);
$candy-app-accent:  mat-palette($mat-deep-orange, A200, A100, A400);
$candy-app-warn:    mat-palette($mat-red);
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);
@include angular-material-theme($candy-app-theme);

并且不要忘记将带有主题的文件包含到 .angular-cli.jsonstyles 部分。

关于css - Angular 6 Material 检索 Material 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50978461/

相关文章:

javascript - 如何逐字符显示文本框中的文本?

php - 如何为相同的数据获得相同的背景颜色?

angular - IE 特定 : Translate Pipe not working in Angular 2 RC4

带有(响应式(Reactive))表单的 Angular CDK 拖放

javascript - HTML 中的自定义游标

css - Div 不居中 Bootstrap css

html - <table> 中的固定位置在 Firefox 和 Chrome 58 中不起作用

javascript - 如何在 Angular 5 中从父组件继承子组件的 css 样式

css - Webpack scss 和 css 模块 react - 意外的标记字符串

css - 我可以扩展外部 scss 规则而不将其包含在输出中吗?