如何在Angular 6材质中更改文本框占位符颜色

时间:2018-09-10 09:51:20

标签: css angular material-design angular-material2

角度6材料代码。

<mat-form-field>
    <input matInput placeholder="Input">
  </mat-form-field>

当输入元素聚焦时,我想更改默认颜色。

enter image description here

我已经很累了。 How do i change md-input-container placeholder color using css in angular material

似乎没有任何作用。

2 个答案:

答案 0 :(得分:2)

如果我理解您的问题,则此CSS应该有效。

  .mat-focused .mat-form-field-label {
      /*change color of label*/
      color: red !important;
  }

 .mat-form-field-underline {
   /*change color of underline*/
    background-color: blue !important;
 } 

.mat-form-field-ripple {
   /*change color of underline when focused*/
   background-color: yellow !important;;
 } 

希望它很有用。

答案 1 :(得分:0)

对于Angular 7和Material 7,这对我有用:

/* Placeholder overrides */
:host ::ng-deep input::-webkit-input-placeholder {
    color: rgba(255,255,255, 0.7) !important;
}

:host ::ng-deep input:-moz-placeholder { /* Firefox 18- */
    color: rgba(255,255,255, 0.7) !important;
}

:host ::ng-deep input::-moz-placeholder {  /* Firefox 19+ */
    color: rgba(255,255,255, 0.7) !important;
}

:host ::ng-deep input:-ms-input-placeholder {
    color: rgba(255,255,255, 0.7) !important;
}

对于下划线,我使用了轮廓样式的输入,但是您可以更改使用的类。

/* Appearance around each input/button to remove faded outline 
but put the dark hover back in */
::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline {
    color: transparent !important;
}
::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline-thick {
    color: rgba(255, 255, 255, 0.87) !important;
}

虽然我认为这不是最好的方法,尤其是使用:: ng-deep,但对我而言,这是唯一适用于特定组件的事情。