当然,这是一个很有用的功能,但是有没有办法禁用它呢? 例如,如果表单是一个单一的文本字段,并且它旁边已经有一个“清除”按钮,那么再加上x是多余的。在这种情况下,最好删除它。
这能做到吗?如果可以,怎么做?
当然,这是一个很有用的功能,但是有没有办法禁用它呢? 例如,如果表单是一个单一的文本字段,并且它旁边已经有一个“清除”按钮,那么再加上x是多余的。在这种情况下,最好删除它。
这能做到吗?如果可以,怎么做?
我发现最好将宽度和高度设置为0px。否则,IE10会忽略字段上定义的padding (padding-right),这是为了防止文本在我覆盖在输入字段上的'X'图标上输入。我猜IE10在内部应用了输入的padding-right到::——ms-clear伪元素,隐藏伪元素并不能恢复输入的padding-right值。
这对我来说效果更好:
.someinput::-ms-clear {
width : 0;
height: 0;
}
我将把这个规则应用到所有文本类型的输入字段,这样以后就不需要重复了:
input[type=text]::-ms-clear { display: none; }
你甚至可以用just来表达不那么具体的意思:
::-ms-clear { display: none; }
在添加这个答案之前,我已经使用了后者,但我认为大多数人会更喜欢更具体的答案。两种解决方案都很有效。
你应该为::-ms-clear (http://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx):
::-ms-clear {
display: none;
}
你还可以为密码字段设置::-ms-reveal伪元素:
::-ms-reveal {
display: none;
}
我认为值得注意的是,当页面在兼容模式下运行时,所有基于样式和CSS的解决方案都不起作用。兼容性模式渲染器忽略::-ms-clear元素,即使浏览器显示x. clear元素。
如果您的页面需要在兼容模式下运行,则可能会出现X显示。
在我的例子中,我正在使用一些第三方数据绑定控件,我们的解决方案是处理“onchange”事件,如果字段被x按钮清除,则清除备份存储。
在“time”输入中隐藏箭头和叉号:
#inputId::-webkit-outer-spin-button,
#inputId::-webkit-inner-spin-button,
#inputId::-webkit-clear-button{
-webkit-appearance: none;
margin: 0;
}