我正在设计一个Web应用程序,一般风格涉及深色背景上的白色文本。
此样式包括使用自定义(暗)图像作为用户名和密码字段,并带有白色文本。
如果用户使用谷歌浏览器登录并选择保存表单的登录详细信息,则在下次访问时,用户名和密码字段将显示为带有白色文本的淡黄色,使其几乎无法读取。这看起来很糟糕。
如何覆盖此样式,防止Google Chrome更改已保存的用户名和密码字段的背景。
<style type="text/css">
input {
border: none;
background: url('darkinput.png');
color: #fff;
}
</style>
<input type="text" name="email" id="text" />
<input type="password" name="password" id="text" />
编辑:当前(google-chrome v11.0.696.57)用户代理样式表包含!重要覆盖以设置以下两项:
input:-webkit-autofill{
background-color: rgb(250, 255, 189) !important;
background-image: none !important;
}
在下面的网址上有一个问题报告,我鼓励每个阅读此内容的人投票:
答案 0 :(得分:8)
要完全禁用自动完成(因此删除样式问题),您可以尝试:
<form autocomplete="off">
...
</form>
然而,另一种可能性是在页面加载后使用jquery删除样式。
if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0) {
$(window).load(function(){
$('input:-webkit-autofill').each(function(){
var text = $(this).val();
var name = $(this).attr('name');
$(this).after(this.outerHTML).remove();
$('input[name=' + name + ']').val(text);
});
});}
答案 1 :(得分:3)
设置阴影将解决这个问题:
input:-webkit-autofill {
-webkit-box-shadow:200px 200px 100px white inset;
box-shadow:200px 200px 100px white inset;
}
答案 2 :(得分:1)
请覆盖默认的CSS,即
input:-webkit-autofill {
background-color: #FAFFBD !important;
background-image:none !important;
color: #000000 !important;
}
答案 3 :(得分:1)
要重置样式:
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px #fff inset;
}
这对我有用。