在某些输入上删除IE10的“清除字段”X按钮?

时间:2012-12-23 00:07:49

标签: css internet-explorer-10

这是一个有用的功能,但是,有没有办法禁用它?例如,如果表单是单个文本字段并且旁边已经有一个“清除”按钮,那么也有多余的X.在这种情况下,删除它会更好。

可以做到,如果有,怎么做?

5 个答案:

答案 0 :(得分:1175)

为方框::-ms-clear pseudo-element添加样式:

.someinput::-ms-clear {
    display: none;
}

答案 1 :(得分:261)

我发现最好将widthheight设置为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-clearhttp://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按钮清除字段,则清除事件并清除后备存储。