这是一个有用的功能,但是,有没有办法禁用它?例如,如果表单是单个文本字段并且旁边已经有一个“清除”按钮,那么也有多余的X.在这种情况下,删除它会更好。
可以做到,如果有,怎么做?
答案 0 :(得分:1175)
为方框::-ms-clear
pseudo-element添加样式:
.someinput::-ms-clear {
display: none;
}
答案 1 :(得分:261)
我发现最好将width
和height
设置为0px
。否则,IE10会忽略字段上定义的填充 - padding-right
- 这是为了防止文本在我在输入字段上叠加的“X”图标上键入。我猜测IE10在内部将padding-right
输入应用于::--ms-clear
伪元素,隐藏伪元素不会将padding-right
值恢复为input
这对我来说效果更好:
.someinput::-ms-clear {
width : 0;
height: 0;
}
答案 2 :(得分:95)
我会将此规则应用于text类型的所有输入字段,因此以后不需要重复:
input[type=text]::-ms-clear { display: none; }
使用以下内容甚至可以减少具体内容:
::-ms-clear { display: none; }
我甚至在添加这个答案之前就使用了后者,但是认为大多数人更喜欢比这更具体。两种解决方案都运行良好。
答案 3 :(得分:72)
您应该为::-ms-clear
(http://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx)设置样式:
::-ms-clear {
display: none;
}
您还为密码字段的::-ms-reveal
伪元素设置样式:
::-ms-reveal {
display: none;
}
答案 4 :(得分:10)
我认为值得注意的是,当页面在兼容模式下运行时,所有基于样式和CSS的解决方案都不起作用。即使浏览器显示x,兼容模式渲染器也会忽略:: - ms-clear元素。
如果您的页面需要在兼容模式下运行,您可能会遇到X显示。
在我的情况下,我正在使用一些第三方数据绑定控件,我们的解决方案是处理" onchange"如果使用x按钮清除字段,则清除事件并清除后备存储。