今天制作一个黑暗主题登录表单时发现,谷歌浏览器的账号密码自动填充功能似乎会使设置好的input,textarea,select等css样式被覆盖。举个栗子,从下图可以看出,账号填充功能使input标签的背景色覆盖。

以前都是设置浅色系的输入框,没有发现这个问题,检查了下样式发现加了!important,优先级还挺高,并且无法在自己的css里用!important覆盖。于是翻了一圈相关文档,大概有三种解决方案,一种是在标签里加 autocomplete="off" ,但是很遗憾这种方法我这并没有解决;还有两种方法分别是给input标签设置大面积的纯色内阴影属性,和给input添加一个超长时间的颜色过渡时间属性。

目前暂时写了个js判断谷歌浏览器才给登录注册表单添加内阴影。毕竟如果输入框背景色有透明度,这个方法也会使颜色偏移,超长时间的transition颜色过渡我不太清楚对性能是否有影响,期待后续能找到更好的解决方法,特此记录。
发表评论