Javascript 如何更改Safari自动填充黄色背景色
这张图片是我从safari得到的: 这是我的代码: 资料来源: -即使上面写的是chrome,但仍然指向webkit autofill 我试着使用背景色:白色!重要的覆盖锁定的css。调试工具显示用户代理样式表的背景颜色已被划掉,但颜色仍然没有改变,并且使用了自定义Javascript 如何更改Safari自动填充黄色背景色,javascript,html,css,safari,Javascript,Html,Css,Safari,这张图片是我从safari得到的: 这是我的代码: 资料来源: -即使上面写的是chrome,但仍然指向webkit autofill 我试着使用背景色:白色!重要的覆盖锁定的css。调试工具显示用户代理样式表的背景颜色已被划掉,但颜色仍然没有改变,并且使用了自定义 这就是我真正困惑的地方,我不知道为什么不允许更改用户代理样式表。读到大多数浏览器都希望指示自动填充(Safari对此表示更加坚决) 我确实找到了另一种hack,您可以使用-webkit-box阴影来覆盖背景色。检查后,尝试使用
这就是我真正困惑的地方,我不知道为什么不允许更改用户代理样式表。读到大多数浏览器都希望指示自动填充(Safari对此表示更加坚决) 我确实找到了另一种
hack
,您可以使用-webkit-box阴影来覆盖背景色。检查后,尝试使用类来针对特定输入是不起作用的(即,特殊性)
在Safari(10.0.2)中,浏览器添加阴影内容
作为用户代理,其中包括背景颜色和自动填充的值。这里的问题是,浏览器禁止编辑这些特定样式(例如背景色
),因此下面给出了答案
input:-webkit-autofill, input:-webkit-autofill:focus {
-webkit-box-shadow: 0 0 0 1000px white inset;
-webkit-text-fill-color: #333;
}
如果输入中还有边框底部
input:-webkit-autofill, input:-webkit-autofill:focus {
border-bottom: 1px solid #333;
}
来源:
-
-
-我发现,这些解决方案包括-webkit-box-shadow
和背景色
仅在Google Chrome浏览器中有效,而在Safari中无效。对我有效的方法是添加背景剪辑:内容框
。最后,代码(适用于所有浏览器)如下所示:
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 60px #fafafa inset !important;
background-color: #fafafa !important;
background-clip: content-box !important;
}
不要认为您可以覆盖用户代理样式,尤其是标有的样式!重要信息
请尝试预先使用类来寻址输入
,例如input.class{背景色:红色!重要信息}
@DenisTsoi是否有任何理由预先寻址输入
类?我相信特定性会有所帮助,但是使用-webit box shadow可以解决此问题:(,opera
和safari
不允许您更改自动填充。firefox
,ie
和chrome
都可以。谢谢@Denis,这真的很有用。如果可以的话,我会关闭自动完成,这将节省我很多时间挖掘哈哈。