Отключить стиль (панель расширения mat)

#html #css #angular-material

#HTML #css #angular-материал

Вопрос:

Как скрыть этот mat-expansion-panel фон, когда он отключен?

Я добавил этот css

 ::ng-deep .mat-expansion-panel-header[aria-disabled=true] {
border-radius: 10px;
background-color: rgba(0,0,0,.26) !important;
color: rgb(107, 190, 198) !important;}
  

но его очередь, как это

Я также пытаюсь проверить элемент из браузера и найти класс

 .mat-expansion-panel {
background: #fff;
color: rgba(0,0,0,.87);}
  

Когда я пытаюсь снять флажок «background», белый фон исчез, но я не знаю, что я должен делать в css

Комментарии:

1. можете ли вы показать мне полную HTML-структуру панели расширения mat?

Ответ №1:

Фон добавляется тем, mat-expansion-panel который является родительским для .mat-expansion-panel-header . Итак, вы хотите изменить родительские стили в зависимости от атрибута ( aria-disabled ) дочернего элемента.

Это невозможно с помощью css.

Что вы могли бы сделать, так это установить для .mat-expansion-panel (родительского) цвета фона значение transparent по умолчанию. Поэтому перезапишите начальные значения. И вместо этого добавить background-color:#fff в panel-header . А затем перезаписать его, когда он отключен.

 ::ng-deep .mat-expansion-panel{
    background: transparent;
    color: rgba(0,0,0,0); /* transparent */
}
::ng-deep .mat-expansion-panel-header{
    /* styles that were added to panel before */
    background: #fff;
    color: rgba(0,0,0,.87); 
}


::ng-deep .mat-expansion-panel-header[aria-disabled=true] {
    /* change what you want */
    border-radius: 10px;
    background: rgba(0,0,0,.26);
    color: rgb(107, 190, 198);
}
  

Комментарии:

1. спасибо,, он скрывает белый фон, но теперь у меня проблема с активным классом .. : D

2. в чем проблема? :))

3. извините, что отвечаю так поздно, это заставляет активный класс также скрывать свой белый фон :)))

4. nvm, я уже делаю для этого какой-то трюк. большое вам спасибо … xD