首页 文章

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

提问于
浏览
674

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

可以这样做,如果是,怎么做?

5 回答

  • 254

    样式::-ms-clear pseudo-element为框:

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

    我发现将 widthheight 设置为 0px 会更好 . 否则,IE10会忽略字段上定义的填充 - padding-right - 这是为了防止文本在我覆盖在输入字段上的'X'图标上键入 . 我猜测IE10在内部将 padding-right 的输入应用于 ::--ms-clear 伪元素,并且隐藏伪元素不会将 padding-right 值恢复为 input .

    这对我来说效果更好:

    .someinput::-ms-clear {
      width : 0;
      height: 0;
    }
    
  • 9

    我将此规则应用于text类型的所有输入字段,因此不需要在以后复制:

    input[type=text]::-ms-clear { display: none; }
    

    通过使用以下内容,甚至可以减少特定:

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

    我甚至在添加这个答案之前就使用了后者,但是认为大多数人都希望比这更具体 . 两种解决方案都很好 .

  • 90

    你应该为 ::-ms-clearhttp://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx)设计样式:

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

    并且您还为密码字段设置 ::-ms-reveal 伪元素的样式:

    ::-ms-reveal {
       display: none;
    }
    
  • 1141

    我认为值得注意的是,当页面在兼容模式下运行时,所有基于样式和CSS的解决方案都不起作用 . 即使浏览器显示x,兼容模式渲染器也会忽略:: - ms-clear元素 .

    如果您的页面需要在兼容模式下运行,您可能会遇到X显示 .

    在我的情况下,我正在使用一些第三方数据绑定控件,我们的解决方案是处理“onchange”事件并清除后备存储,如果使用x按钮清除字段 .

相关问题