您可以使用下面使用的css选择器:
/deep/ .mat-input-underline {
background-color: white;
}
/deep/ combinator is slated for deprecation in Angular ,所以没有它最好 . 不幸的是,Angular Material的.mat-input-underline是高度指定的,这使得很难在不使用/ deep /的情况下覆盖
我发现的最好方法是使用ID,与默认的Angular Material样式相比,它允许您更高的特异性 .
Search
search
然后,您的“搜索表单”ID可用于定位输入 . 在不破坏视图封装的情况下,您无法在component.scss中定位mat-form-field-underline . 通过将此添加到global.scss,可以更轻松地在全局级别执行此操作
global.scss:
#search-form {
.mat-form-field-underline {
background-color: $accent;
}
.mat-form-field-ripple {
background-color: $accent;
}
.placeholder {
display: none;
}
}
我希望Angular Material团队在未来能够恢复他们的特异性,因为目前没有简单的方法来覆盖他们的默认值 .