Принятый ответ работает нормально, но в нем используется жестко заданное значение цвета (background: rgba(0, 139, 139, 0.7)
). Такой подход фактически нарушит ваши стили и цвета, если вы решите переключиться на другую предварительно созданную тему материала или использовать настраиваемую тему (как описано в Тематическое оформление страницы приложения Angular Material).
Итак, если вы используете SCSS, вы можете использовать следующий код в файле стиля вашего компонента:
@import '~@angular/material/theming';
mat-list-option[aria-selected="true"] {
background: mat-color($mat-light-theme-background, hover, 0.12);
}
Приведенный выше код адаптирован из mat-select options
- таким образом, у вас будет единый вид во всем приложении: .mat-option.mat-selected:not(.mat-option-multiple) { background: mat-color($background, hover, 0.12);}
Демо: https://stackblitz.com/edit/material-selection-list-5-0-0-selection-color-change-qaq1xr
Или, если вы используете темную тему, измените код следующим образом:
mat-list-option[aria-selected="true"] {
background: mat-color($mat-dark-theme-background, hover, 0.12);
}
Демо: https://stackblitz.com/edit/material-selection-list-5-0-0-selection-color-change-w8beng
Если вы просто хотите использовать собственный цвет, я предлагаю выбрать один из Материал Спецификации, которые также представлены в Angular Material Design scss.
$primaryPalette: mat-palette($mat-green);
mat-list-option[aria-selected="true"] {
background: mat-color($primaryPalette, 500);
}
Демо: https://stackblitz.com/edit/material-selection-list-5-0-0-selection-color-change-tt3nyj
person
andreivictor
schedule
05.03.2020