You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material 13+ 如何移除必填字段星号前的空格?

解决Angular Material v13必填星号前的空格问题

在Angular Material v13中,必填表单字段的默认必填星号前会自带一个空格,渲染后的简化HTML结构如下:

<span aria-hidden="true" class="mat-placeholder-required mat-form-field-required-marker"> *</span>

需求是让字段显示为「First name*」而非「First name *」,且因项目规模庞大,无法逐个使用[hideRequiredMarker]="true"手动添加星号,以下是通用解决方案:

通用CSS解决方案

将以下样式添加到全局样式文件(如styles.scss),即可全局移除所有必填字段星号前的空格:

.mat-form-field-required-marker {
  /* 隐藏原有带空格的星号内容 */
  visibility: hidden;
  position: relative;
}

.mat-form-field-required-marker::after {
  /* 重新添加不带空格的星号 */
  content: '*';
  visibility: visible;
  position: absolute;
  left: 0;
}

方案说明

  1. 该方案通过CSS伪元素替换原有带空格的星号内容,无需修改任何组件代码,全局生效
  2. 保留了原有的aria-hidden="true"属性,不会影响屏幕阅读器的无障碍访问
  3. 星号的样式(如颜色)仍可通过原有CSS规则调整:
.mat-placeholder-required.mat-form-field-required-marker::after {
  color: blue;
}

内容的提问来源于stack exchange,提问作者Haradzieniec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 03:52:33