Я пытаюсь настроить цвет неактивных мат-вкладок, но не могу найти документацию, чтобы найти точное правило для использования. Я пробовал другие ответы, но они устарели и не относятся к моему случаю.
я нашел ответ с помощью этих правил:
.mat-mdc-tab-group,
.mat-mdc-tab-nav-bar {
--mat-tab-header-active-focus-label-text-color: #151414;
--mat-tab-header-active-label-text-color: #151414;
--mat-tab-header-inactive-label-text-color: rgb(0 0 0 / 60%);
--mat-tab-header-inactive-focus-label-text-color: rgb(236 131 218 / 60%);
--mat-tab-header-inactive-hover-label-text-color: rgb(236 131 218 / 60%);
--mdc-tab-indicator-active-indicator-color: #242022;
--mat-tab-header-active-hover-label-text-color: #5052c3;
--mat-tab-header-active-ripple-color: #c2185b;
--mat-tab-header-inactive-ripple-color: #232222;
}
это работает, но я не вижу правила изменения цвета фона неактивных вкладок.
Есть ли способ найти полный список?






Если вы проверите CSS вкладок mat, вы увидите эти переменные CSS, которые можно настроить.
.mat-primary.mat-mdc-tab-group,.mat-primary.mat-mdc-tab-nav-bar {
--mdc-tab-indicator-active-indicator-color: #005cbb;
--mat-tab-header-divider-color: #e0e2ec;
--mat-tab-header-pagination-icon-color: #1a1b1f;
--mat-tab-header-inactive-label-text-color: #1a1b1f;
--mat-tab-header-active-label-text-color: #1a1b1f;
--mat-tab-header-active-ripple-color: #1a1b1f;
--mat-tab-header-inactive-ripple-color: #1a1b1f;
--mat-tab-header-inactive-focus-label-text-color: #1a1b1f;
--mat-tab-header-inactive-hover-label-text-color: #1a1b1f;
--mat-tab-header-active-focus-label-text-color: #1a1b1f;
--mat-tab-header-active-hover-label-text-color: #1a1b1f;
--mat-tab-header-active-focus-indicator-color: #005cbb;
--mat-tab-header-active-hover-indicator-color: #005cbb
}
Цвет фона жестко запрограммирован как none в CSS. Я полагаю, что это просто спецификация материала того, как должно быть с прозрачным фоном.
Поэтому, если вам нужны такие настройки, вам следует просто определить глобальные стили для вашего случая, например:
/* default background for all tab headers */
.mdc-tab {
background: red;
}
/* override default background for active tabs */
.mdc-tab.mdc-tab--active {
background: blue;
}
В результате у вас будут красные неактивные вкладки и синие активные вкладки.
обновление:
Для изменения стиля локального компонента есть два способа сделать это.
<mat-tab-group class = "my-custom-tabs">
добавить глобальные стили:
/* default background for all tab headers */
.my-custom-tabs .mdc-tab {
background: red;
}
/* override default background for active tabs */
.my-custom-tabs .mdc-tab.mdc-tab--active {
background: blue;
}
::ng-deep, это не так чисто, потому что это устаревшая функция. Но, похоже, его никогда не удаляли, потому что многие проекты зависят от этой функции, и иногда ее использование критически важно, чтобы все работало.В стилях вашего компонента:
:host ::ng-deep {
.mdc-tab {
background: red;
}
.mdc-tab.mdc-tab--active {
background: blue;
}
}
сделал раздел обновлений в моем ответе для вашего случая
Спасибо за помощь, я попробовал это, но это применимо только к style.css глобально, а не внутри CSS компонента. Мне это нужно только для определенной группы вкладок