使用Angular Material,我很难在CSS中覆盖.mat-form-field-hide-placeholder类,当输入失去焦点时,该类会自动添加到父mat-form-field标记中。目的是始终显示占位符。
代码看起来像这样:
<mat-form-field>
<mat-label>
Field label
</mat-label>
<input type="text" placeholder="placeholder text">
</mat-form-field>
答案 0 :(得分:1)
您可以使用/ deep /选择器正确覆盖该类。这是角材中的一个已知问题。
/deep/ .mat-form-field-hide-placeholder {
// your code here
}
重要的是要知道/ deep /选择器当前已被弃用,但据我所知,目前没有任何替代方法可以解决此问题。因此,请注意未来的变化。
答案 1 :(得分:0)
最后,我做到了:
使用SASS:
.mat-form-field.mat-form-field-hide-placeholder {
.mat-form-field-infix {
.mat-input-element::placeholder {
color: $gray-350 !important;
-webkit-text-fill-color: $gray-350 !important;
}
}
}
或普通CSS:
.mat-form-field.mat-form-field-hide-placeholder .mat-form-field-infix .mat-input-element::placeholder {
color: $gray-350 !important;
-webkit-text-fill-color: $gray-350 !important;
}