Chrome 119中表单自动填充强制添加淡黄背景,可用内阴影覆盖(需匹配实际背景色)、超长transition延迟或结构剥离解决;密码字段须用autocomplete="new-password"禁用。

Chrome 119版本中,表单自动填充仍会强制为元素注入input:-webkit-autofill伪类,并施加background-color: #FAFFBD(淡黄底色),导致与UI设计严重脱节——尤其在深色主题、带圆角边框或背景图的输入框中,这个突兀色块会直接覆盖原有样式,且常规background-color: xxx !important完全无效。
用内阴影彻底遮盖黄色背景
这是目前最稳定、兼容性最高、无需JS干预的方案,适用于所有纯色背景输入框(包括白色、灰色、深蓝等)。
第一步:在CSS文件末尾或
input:-webkit-autofill,<br> input:-webkit-autofill:hover,<br> input:-webkit-autofill:focus,<br> input:-webkit-autofill:active {<br> -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;<br> -webkit-text-fill-color: #333333 !important;<br> caret-color: #333333;<br>}
注意:【#ffffff必须替换成你输入框实际的背景色值】,否则阴影会露出白边或色差;若输入框是深灰(如#2d3748),这里就必须写1000px #2d3748 inset,否则视觉上仍会“透出”黄色。
第二步:如果输入框原本有border-radius或border,需额外补上!important确保不被浏览器默认重置覆盖:
input:-webkit-autofill { border-radius: 6px !important; border: 1px solid #e2e8f0 !important; }
透明/图片背景输入框的处理方案
当你的输入框依赖透明背景、渐变背景或背景图(比如带搜索图标的输入框),内阴影法会直接吃掉整个背景效果。此时不能硬盖,得换思路。
方法一:用超长过渡延迟“冻结”变色
给背景色变化加一个5000秒的延迟,视觉上等同于永不触发:
input:-webkit-autofill { transition: background-color 5000s ease-in-out 0s !important; -webkit-text-fill-color: #333 !important; }
这一步操作起来很简单,直接把上面代码粘贴进项目CSS就行。但要注意:Chrome 119已开始对极长transition时间做软限制,若发现偶发失效,可将5000s提升至99999s。
方法二:剥离背景,用
把背景图、图标、边框等非语义性装饰全部移出,改由包裹它的


















