浏览器展示效果如下图:
需求呢就是将输入框的背景颜色去除。
第一步,上来我没想太多,直接在控制台,修改input
元素背景色为白色,发现居然不生效,颜色并没有改变。
第二部,我错愕了一下,不至于吧,随即怀疑可能有使用!important
,将样式冲突了,开始检查input
元素的具体属性。
翻找input
元素的属性时发现,在 user agent stylesheet 模块下,有一个背景色? 如下图2
不太清楚这个单词的含义,一般样式的右上角,都会指向我们的css
相关文件的路径(如图三),这个单词以前还真的没有关注到。
解释一下这个单词 user agent stylesheet
经过了解
大白话来说,
浏览器默认样式
看到这里我才,恍然大悟啊,这不就是浏览器的
form
表单提交过一次,再次输入的自动提示,然后选择后,会出现的样式吗?
知道原因之后,写个demo
具体的去玩一玩,了解一下。
demo
代码
其实,就一个html代码,加了一个form表单,没事好说的
解决方案
autocomplete
,设置属性值为off
即可。当然啊,我也试验了一下,是ok没有问题的。 input:-webkit-autofill { -webkit-box-shadow:0 0 0px 1000px white inset;-webkit-text-fill-color: #333; }
-webkit-autofill
这个属性是什么呢?MDN官方文档解释-webkit-autofill
》 CSS css 伪类选择一个元素<吞吐量>
当其值由浏览器自动填充时。:-webkit-autofill
》 兼容性不好,不建议使用
第二种方案浏览器实现效果
记录(番茄自己电脑都是最新的版本。。。)浏览器 | 是否自动填充有默认样式 | 是否生效 | 备注 |
---|---|---|---|
谷歌 | 是 | 是 | |
火狐 | 否(火狐就没有自动填充-背景色-默认样式) | - | |
Edge | 是 | 是 | 本身就是谷歌内核 |
safari | 没测出来有自动提示 | - |
ps
: IE就不测试了,一堆问题
总结: 从我自己测试的效果上来说,是可以使用的,兼容主流的新版本浏览器。(但官方文档建议废除,不使用)
下一篇:从汇编角度看函数调用过程