我有一个登录表单,有2个字段,用户名和密码。用户名字段是由chrome自动完成的。当我提交表单时(当它有效时),这个样式被神秘地应用:
input:-internal-autofill-selected {s ñ
background-color: rgb(232, 240, 254) !important;
background-image: none !important;
color: -internal-light-dark-color(black, white) !important;
}
有什么方法可以避免这种情况吗?表单是使用 AJAX 提交的,所以如果对用户名字段应用了这种样式,那么会有点难看,但对密码字段则没有。
我注意到只有当field被chrome sugggestions列表中的一个元素填充时才会发生这种情况,如果field被一个不在列表中的值填充,样式就不会被应用。
问候Jaime
7条答案
按热度按时间nfs0ujit1#
为了摆脱不希望的行为,这个技巧“只是工作”(tm):
f1tvaqid2#
答案并不直观,它更像是一个小把戏,但看起来它是唯一有效的方法:
这将根据你的输入设置一个
yellow
背景。它基本上是一个非常不透明和压倒性的内部阴影。他们在发送link@ravb79时使用了相同的技巧。zbq4xfa03#
如果你可以接受浅色主题的默认
-internal-autofill-selected
样式,只是想让它在深色主题中看起来更漂亮,那么你可能只需要:vmjh9lq94#
您可以添加一个方框阴影来删除蓝色背景
jmo0nnb35#
你可以添加你自己的CSS,这样更新后的状态就可以匹配你的常规输入状态。在声明中添加一个额外的类和!important属性应该可以覆盖它。
因此:
我还发现了这个btw:https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/
wgeznvg76#
我试过覆盖样式,但是由于某种原因,它根本不起作用。Webkit或者至少chrome忽略了那个样式。
当我把!important添加到webkit / chrome样式中时,它就直接从等式中完全删除了。在元素检查器中看不到它。
我试过的所有东西要么被忽略要么被删除。
所以,我想出了这个可怕的废话。但它的工作至今。
我正在使用 Bootstrap ,我想保持背景图像形式的验证图标。
只有上帝知道为什么webkit的创建者认为他们绝对必须设置背景图像为无,但如果他们想要战争,他们可以有它。
vdzxcuhz7#
我稍微调整了@kostiantyn-ko的答案,使其仅适用于无效输入。
分类:
CSS: