input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: rgb(250, 255, 189); /* #FAFFBD; */ background-image: none; color: rgb(0, 0, 0);}input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: #FFFFFF; background-image: none; color: #333; /* -webkit-text-fill-color: red; //这个私有属性是有效的 */}input:-webkit-autofill:hover { /* style code */}input:-webkit-autofill:focus { /* style code */}思路有两个,1、通过打补丁,修复bug。2、关闭浏览器自带填充表单功能input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; -webkit-text-fill-color: #333;}if (navigator.userAgent.toLowerCase().indexOf("chrome") >= 0){ var _interval = window.setInterval(function () { var autofills = $("input:-webkit-autofill"); if (autofills.length > 0) {window.clearInterval(_interval); // 停止轮询autofills.each(function() {var clone = $(this).clone(true, true);$(this).after(clone).remove();}); } }, 20);}先判断是否是chrome,如果是,则遍历input:-webkit-autofill元素,再通过取值,附加,移除等操作来实现。 这个方法没效果!!
如图:填充后,邮箱小图标被浏览器默认样式覆盖掉

最后,
如果不想多去处理chrome浏览器下表单自动填充出现的添加默认样式,那就把这个小小的图标放到表单外面吧,我这个因为是input框
只有border-bottom,如果这个input框有边框,那么可能需要使用一个div的边框的来假装成input框的边框,然后input框弄成是没有边框的。
像这样的input框

通过以上方法成功帮朋友解决浏览器自动添加默认样式问题,小伙伴们可以放心参考此文。