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

Angular Material输入框选择自动填充建议选项时出现白色背景问题

问题原因

该问题是浏览器自带的自动补全(autocomplete)功能的默认伪类样式,与你当前项目的输入框样式(如果使用了Angular Material则是Material主题样式)优先级冲突导致的,和Mac开发环境、Angular核心框架本身无关。


解决方案

方案1:不需要自动补全功能,直接关闭

给对应的input标签添加autocomplete="off"属性即可,示例如下:

<!-- 普通Angular输入框 -->
<input type="text" autocomplete="off">

<!-- Angular Material输入框 -->
<mat-form-field>
  <input matInput type="text" autocomplete="off">
</mat-form-field>

方案2:需要保留自动补全功能,覆盖浏览器默认样式

在全局样式文件(一般是styles.scss/styles.css)中加入以下代码,根据你自己的设计规范替换对应色值即可:

/* 覆盖自动填充后的输入框样式(包含hover、聚焦、选中状态) */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
input:-webkit-autofill:active  {
  /* 第一个参数是内阴影大小不需要改,后面的色值替换为你的输入框默认背景色 */
  -webkit-box-shadow: 0 0 0 30px #f5f5f5 inset !important;
  /* 色值替换为你的输入框默认文字颜色 */
  -webkit-text-fill-color: #212121 !important;
}

/* 覆盖自动补全建议项选中状态的背景色 */
input:-internal-autofill-selected {
  /* 色值替换为你需要的选中背景色 */
  background-color: #e0e0e0 !important;
}

如果仅需要在单个组件内生效,可以把上述代码放到组件对应的样式文件中,在每个选择器前加上::ng-deep即可,建议同时给输入框加自定义类名限制样式作用范围,避免全局污染。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:45:05