【问题标题】:Angular Material cant change background color with themeAngular Material 不能随主题改变背景颜色
【发布时间】:2019-04-19 17:31:33
【问题描述】:

我一直在尝试为我的网站制作自定义主题,但没有任何东西会影响背景颜色。这是我的主题:

@import '~@angular/material/theming';
@include mat-core();

$warn: mat-palette($mat-red);

$dark-primary: mat-palette($mat-grey, 900);
$dark-accent: mat-palette($mat-grey);
$dark-theme: mat-dark-theme($dark-primary, $dark-accent, $warn);
@include angular-material-theme($dark-theme);

$blue-primary: mat-palette($mat-indigo, 800, 100, 100);
$blue-accent: mat-palette($mat-grey, 300, 100, 500);
$blue-theme: mat-light-theme($blue-primary, $blue-accent, $warn);

.alt-theme {
    @include angular-material-theme($blue-theme);
}

我的身上有mat-app-background,但第一个包含的主题设置为暗/亮,这也是背景颜色的变化,黑色或白色。

起初这是一个问题,但我现在的问题是它不在乎 alt 主题是浅色的,背景保持黑色。或者,如果第一个包含的主题是浅色而 alt 是深色,它将保持白色。

编辑:

所以我的问题是我将类添加到我的 mat-drawer-container 中,我猜它不喜欢,我将它包装在一个 div 中,然后一切都开始按预期工作

【问题讨论】:

  • 您是否将 .alt-theme css 类应用于任何组件或您的 html 正文?你只是包括黑暗主题。如果你想激活 .alt 主题,我认为你必须使用叠加层
  • 是的,我正在申请课程。
  • 问题不是主题没有被应用,问题是当它被应用时,背景颜色不会随之改变

标签: angular angular-material material-design material-theme angular-material-theming


【解决方案1】:

我通常会添加这样的变量:

$mat-light-theme-background: (
  status-bar: map_get($mat-grey, 300),
  app-bar:    map_get($mat-grey, 100),
  background: map_get($mat-grey, A100),
  hover:      rgba(black, 0.04), // TODO(kara): check style with Material Design UX
  card:       white,
  dialog:     white,
  disabled-button: $black-12-opacity,
  raised-button: white,
  focused-button: $black-6-opacity,
  selected-button: map_get($mat-grey, 300),
  selected-disabled-button: map_get($mat-grey, 400),
  disabled-button-toggle: map_get($mat-grey, 200),
  unselected-chip: map_get($mat-grey, 300),
  disabled-list-option: map_get($mat-grey, 200),
);

$mat-light-theme-foreground: (
  base:              black,
  divider:           $dark-dividers,
  dividers:          $dark-dividers,
  disabled:          $dark-disabled-text,
  disabled-button:   rgba(black, 0.26),
  disabled-text:     $dark-disabled-text,
  hint-text:         $dark-disabled-text,
  secondary-text:    $dark-secondary-text,
  icon:              rgba(black, 0.54),
  icons:             rgba(black, 0.54),
  text:              rgba(black, 0.87),
  slider-min:        rgba(black, 0.87),
  slider-off:        rgba(black, 0.26),
  slider-off-active: rgba(black, 0.38),
);

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

【讨论】:

  • 如何应用前景和背景?我确实尝试将代码添加到我的 scss 文件中,但没有任何改变
猜你喜欢
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多