如何在 mat-input 中设置占位符的位置

cuc*_*uru 3 css angular-material angular angular-material-5

我正在更改垫输入中的一些样式。我得到了所有这些,但输入中占位符的位置除外。

<mat-form-field>
   <input matInput type="email" name="email" [required]="true" placeholder="email" class="my-class"/>
</mat-form-field>

.my-class {
  padding: 10px;
  box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)

当输入中存在电子邮件时,此方法可以正常工作,但是当它为空时,占位符“电子邮件”会在输入中移动并位于顶角。

好位置 位置不好

通过检查css,我发现在 mat-form-field 中添加和删除了一个类,它是“mat-form-field-sould-float”,我的选择器将类似于:

mat-form-field:not(.mat-form-field-should-float) .mat-input-placeholder
Run Code Online (Sandbox Code Playgroud)

但我无法让它发挥作用。

我怎样才能改变它?

小智 6

由于视图封装,您将无法更改组件样式表中输入的 CSS。

您必须style.scss从项目的根源进行更改。您可以使用相同的选择器:

mat-form-field:not(.mat-form-field-should-float) .mat-input-placeholder {
  padding: 10px;
  box-sizing: border-box;
}
Run Code Online (Sandbox Code Playgroud)