html - 根据是否扩展动态更改 mat-expansion-panel-header 的背景颜色

标签 html css angular material-design angular6

我一直在努力寻找一种方法来根据面板是否展开来动态更改 Material Design 展开面板标题的背景颜色。

当面板关闭时,我希望背景颜色为白色,但当它展开时,我想将该颜色更改为其他颜色。我没有看到可以根据此更改进行更改的内容,也许我遗漏了一些内容。我是 Angular 的新手,我想我可以将它基于 [expanded] 的设置,但事实并非如此。

mat-accordion
mat-expansion-panel
mat-expansion-panel-header
mat-expanded{
  font-size: 1.25em;
  background-color: white;
  background: white;
  color: #00838f;
  font-weight: 500;
}



mat-accordion
mat-expansion-panel
mat-expansion-panel-header {
  font-size: 1.25em;
  background-color: white;
  background: white;

  color: #00838f;
  font-weight: 500;
}


  mat-accordion
  mat-expansion-panel
  .mat-expansion-panel-body {
  background-color: white;
  padding-top: 5px;
}
.mat-expansion-indicator::after {
  color: #00838f;
}
<mat-accordion multi="true">
<mat-expansion-panel [expanded]="selectedBenefitCategories.indexOf(cat)!=-1" [hidden]="selectedBenefitCategories.indexOf(cat)===-1">
  <mat-expansion-panel-header>
    <i class="search-category-icon far fa-star"></i> &nbsp; {{cat}}
  </mat-expansion-panel-header>
  <ng-template matExpansionPanelContent>

    some content

  </ng-template>
</mat-expansion-panel>
</mat-accordion>

最佳答案

Angular Material 确实添加了基于expanding 状态的动态类。

mat-expanded 将是您正在寻找的那个。问题是此类也附加到面板内容。为了解决这个问题,您只需将它与 .mat-expansion-panel-header 类选择器组合即可。

总结起来应该是这样的:

.mat-expansion-panel-header.mat-expanded {
  background: red;
}

Notice: Angular Material does also add background: inherit on the hover state.

如果这不是您想要的行为,只需像这样覆盖它:

.mat-expansion-panel-header.mat-expanded,
.mat-expansion-panel-header.mat-expanded:hover {
  background: red;
}

关于html - 根据是否扩展动态更改 mat-expansion-panel-header 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50515461/

相关文章:

javascript - 使用 JavaScript 和 HTML5 制作棋盘游戏在线 GUI 的技巧

javascript - 如何使向上和向下箭头突出显示列表中的元素? (jQuery)

arrays - 对可观察数组进行分页

javascript - 根据选定的传递参数, Angular 隐藏和显示图像

javascript - Angular2 中的深层链接

javascript - 复选框向上文本

html - 除了标签之外,如何使网格居中?

css - col-md-3 或 col-md-4 中的 Bootstrap3 300x250 横幅

jquery - Bootstrap 3 轮播无法正确显示或更改图像

google-chrome - Chrome 不显示具有传播值的文本阴影