当前位置: 首页 > 知识库问答 >
问题:

角度材质如何覆盖。使用css隐藏mat表单字段占位符行为

羊舌和安
2023-03-14

对于角度材质,我很难覆盖css。mat form field隐藏占位符类,该类在输入不聚焦时自动添加到父mat form field标记。目标是始终显示占位符。

代码如下所示:

<mat-form-field>
  <mat-label>
      Field label
  </mat-label>
  <input type="text" placeholder="placeholder text">
</mat-form-field>

共有2个答案

徐承载
2023-03-14

您可以使用 /deep/选择器来正确覆盖类。这是角材料中已知的问题。

/deep/ .mat-form-field-hide-placeholder {
    // your code here
}

重要的是要知道/deep/selector目前正被弃用,但据我所知,目前还没有任何其他解决方案来解决这个问题。所以要注意未来的变化。

刘玉石
2023-03-14

最后,我做了以下工作:

使用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;
}
 类似资料:
  • 我想按照本指南实现一个角度材质自定义表单字段:https://material.angular.io/guide/creating-a-custom-form-field-control 但我一直有这样的错误:错误:mat表单字段必须包含MatFormFieldControl。 根据文件: 如果没有将表单字段控件添加到表单字段,则会出现此错误。如果表单字段包含本机或元素,请确保已向其添加matIn

  • 问题内容: 除 Chrome 以外的所有浏览器都会自动执行此操作。 我猜我必须专门针对 Chrome 。 有什么办法吗? 如果不使用 CSS ,那么使用 jQuery ? 问题答案:

  • 我想在进行某些处理时显示一个进度条覆盖图。我可以计算完成百分比,所以我想使用一个确定的进度条。对于覆盖部分,我想使用一个对话框。基本上,我想做这里要做的事情(Angular 2 Material Progress微调器:显示为叠加),但我不需要微调器。因此,我的组件将如下所示: 模板: 元件: 然后我使用这个组件的代码如下: 我发现了这一点(如何将数据传递到angular material 2的对

  • 我试图使用“背景动画边框输入-材料2.0”输入,如图所示:https://mdbootstrap.com/docs/jquery/forms/inputs/#animated-inputs 我也在使用“懒惰加载”方法(关于路由)。 这是原件 这是它应该工作的方式 这就是它~实际上~所做的 问题是“输入字段”工作不正常。输入数据时,字符“覆盖”标签 如何解决这个问题?如果这需要一个特定的模块,在哪里

  • > 到目前为止,我使用角2快速入门创建了一个新项目。 我决定开始使用angular 2 cli,并创建了一个新的angular 2 cli项目。 移动了我的所有文件并重新安装了所有软件包。 现在,当我试图在CLI项目中使用角2材料时,我遵循了这里的指南,但这是我得到的: 会出什么问题?

  • 问题内容: 我的html中有这样的标签: 使用CSS我想用我的实际徽标替换文本。我已经通过调整标签大小并通过css将背景图像放到徽标中了,没有问题。但是,我不知道如何摆脱文本。我以前看过基本上是通过将文本从屏幕上推送来完成的。问题是我不记得在哪里看到它。 问题答案: 这是一种方法: 这是隐藏文本的另一种方式,同时避免了浏览器将创建的9999像素大框: