当然,这是一个有用的功能,但是有什么方法可以禁用它吗?例如,如果表单是单个文本字段,并且旁边已经有一个 “清除” 按钮,则也不需要 X。在这种情况下,最好将其删除。
能做到吗?如果可以,怎么做?
为框设置::-ms-clear
伪元素的样式:
.someinput::-ms-clear {
display: none;
}
我发现最好将width
和height
设置为0px
。否则,IE10 会忽略字段上定义的填充( padding-right
,该padding-right
是为了防止文本在我覆盖在输入字段上的 “X” 图标上键入内容。我猜想 IE10 在内部将输入的padding-right
应用于::--ms-clear
伪元素,而隐藏伪元素并不会恢复到input
的padding-right
值。
这对我来说更好:
.someinput::-ms-clear {
width : 0;
height: 0;
}
我将此规则应用于 text 类型的所有输入字段,因此以后无需重复:
input[type=text]::-ms-clear { display: none; }
通过使用以下方法甚至可以降低具体性:
::-ms-clear { display: none; }
我甚至在添加此答案之前就使用了后者,但认为大多数人都希望比此更具体。两种解决方案都可以正常工作。