我有一个角度扩展面板,如下所示。如何将下面箭头的颜色更改为白色?
我的代码(HTML):
<md-expansion-panel>
<md-expansion-panel-header>
<md-panel-title>
Personal data
</md-panel-title>
<md-panel-description>
Type your name and age
</md-panel-description>
</md-expansion-panel-header>
<md-form-field>
<input mdInput placeholder="First name">
</md-form-field>
<md-form-field>
<input mdInput placeholder="Age">
</md-form-field>
</md-expansion-panel>
我的代码(TS):
import {Component} from '@angular/core';
/**
* @title Basic expansion panel
*/
@Component({
selector: 'expansion-overview-example',
templateUrl: 'expansion-overview-example.html',
})
export class ExpansionOverviewExample {}
工作代码如下:
<md-expansion-panel>
<md-expansion-panel-header class="specific-class">
<md-panel-title>
Personal data
</md-panel-title>
<md-panel-description>
Type your name and age
</md-panel-description>
</md-expansion-panel-header>
<md-form-field>
<input mdInput placeholder="First name">
</md-form-field>
<md-form-field>
<input mdInput placeholder="Age">
</md-form-field>
</md-expansion-panel>
import {Component} from '@angular/core';
/**
* @title Basic expansion panel
*/
@Component({
selector: 'expansion-overview-example',
templateUrl: 'expansion-overview-example.html',
styles: [`
::ng-deep .specific-class > .mat-expansion-indicator:after {
color: white;
}
`],
})
export class ExpansionOverviewExample {}
说明:
您不必使用 ng-deep。相反,您可以将此代码添加到样式表中:
.mat-expansion-panel-header-description,
.mat-expansion-indicator::after {
color: white;
}
请参阅 GitHub 文档 https://github.com/angular/components/tree/master/src/material/expansion
它以这种方式对我有用
HTML
<mat-accordion>
<mat-expansion-panel class="specific-class">
<mat-expansion-panel-header>
<a mat-button>Lorem ipsum dolor sit amet.</a>
</mat-expansion-panel-header>
<ul>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis, placeat.</li>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis, placeat.</li>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis, placeat.</li>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis, placeat.</li>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis, placeat.</li>
</ul>
</mat-expansion-panel>
</mat-accordion>
CSS
/deep/ .mat-expansion-indicator::after, .mat-expansion-panel-header-description { color: red;}
您只需将其添加到全局 styles.css 文件中即可。至少在 7.2 版本中对我有用。
.mat-expansion-indicator::after {
color: green;
}
您将
encapsulation: ViewEncapsulation.None
属性添加到您的 @Component
装饰器中
@Component({
selector: '...',
templateUrl: '...',
styleUrls: ['...'],
encapsulation: ViewEncapsulation.None // <----
})
然后
.mat-expansion-panel-body {
padding: 0 !important;
}
那么这个 CSS 无论有没有 !important 都可以正常工作
::ng-deep
和 /deep/
不适用于新版本的 angular/material
这对我有用
::ng-deep .mat-expansion-indicator, .mat-expansion-indicator:after {
color: green;}
这对我有用 2018
<md-expansion-panel>
<md-expansion-panel-header class="specific-class">
<md-panel-title>
Personal data
</md-panel-title>
<md-panel-description>
Type your name and age
</md-panel-description>
</md-expansion-panel-header>
<md-form-field>
<input mdInput placeholder="First name">
</md-form-field>
<md-form-field>
<input mdInput placeholder="Age">
</md-form-field>
</md-expansion-panel>
.specific-class > .mat-expansion-indicator, .mat-expansion-indicator:after {
color: red !important;
}
如果您使用 npm 安装了 Angular Material,则可以直接转到应用程序中的material.scss,并使用 class .mat-expansion-indicator:after 更改箭头的颜色。
对我来说这就是有效的:
.mat-expansion-indicator::after{
border-color: red;
}