您需要在您的input
字段中添加autocomplete="off"
。
<input type="text" placeholder="在此处输入" autocomplete="off">
并且
如果它是一个动态元素,或者您无法在input
中添加这个属性,那么您可以使用一个简单的脚本来实现。
$('input').attr('autocomplete', 'off');
这篇文章对您可能会有用。
根据此类似问题在SO上的答案,正如您自己怀疑的那样,出现在文本框下方的自动完成列表不在DOM中,因此无法被CSS定位。
从我在codepen上的实验来看,Edge会在文本框上覆盖一个半透明元素(高度和宽度都相匹配),而不是将样式应用于文本框本身。
我的第一个codepen演示展示了关闭自动完成时的样式情况。您会发现通过链接:hover
和:focus
伪类,我可以创建一个不同的样式,当悬停在已经聚焦的文本框上时(在聚焦时为蓝色,在悬停在同一聚焦文本框上时为红色)。
最好关闭自动填充
<input type="text" placeholder="Type here" autocomplete="off">
只需在您的CSS中添加outline: none;
,它就可以解决问题!
CSS:
input {
outline: none;
}
HTML:
<input style="outline: none;" type="text" id="lname" name="lname">
:focus
选择器添加样式,以确保不会让任何人感到困惑。 - undefined我还没有测试过,现在无法访问IE,但在其他浏览器中,一些默认行为可以使用一些CSS进行更新。希望它能帮到你:
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;