登录页text和password input保存密码后变色,需设置哪个CSS属性为none?
解决浏览器自动填充密码后输入框文本颜色异常的问题
要解决浏览器保存密码后输入框文本无法显示为灰色的问题,你需要针对被自动填充的text/password类型input元素,将background-image属性设置为none,同时配合其他样式覆盖浏览器的默认自动填充规则:
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-text-fill-color: gray; /* 强制文本显示为灰色 */ background-image: none; /* 移除浏览器自动填充添加的默认背景渐变 */ box-shadow: inset 0 0 0 1000px #fff; /* 替换为你的输入框背景色,避免默认黄色背景 */ transition: background-color 5000s ease-in-out 0s; /* 防止浏览器后期重置样式 */ }
核心逻辑:浏览器自动填充时会给input添加默认背景渐变和文本颜色,background-image: none可以清除这个干扰背景;-webkit-text-fill-color直接指定文本为灰色;用box-shadow模拟背景色是因为直接设置background-color容易被浏览器覆盖;过渡动画则是为了避免浏览器在一段时间后强制重置样式。
如果你的输入框有自定义背景色,把代码里的#fff替换成对应颜色值即可。
内容的提问来源于stack exchange,提问作者OTÁVIO FARIA
相关产品推荐
相关产品推荐

