【问题标题】:Internet Explorer 10 Windows 8 Remove Text Input and Password Action IconsInternet Explorer 10 Windows 8 删除文本输入和密码操作图标
【发布时间】:2012-06-06 05:53:19
【问题描述】:

我正在 Windows 8 上的 Internet Explorer 10 中测试一个高度自定义的 Web 应用程序,因为它是一个即将发布的版本,并且可能有一天会使用我的应用程序。看看这个应用程序中一些文本输入控件的示例截图:

有没有办法在 HTML 或 CSS 中删除位于文本和密码输入控件右侧的操作图标?

感谢您的宝贵时间。

【问题讨论】:

    标签: html css internet-explorer windows-8 internet-explorer-10


    【解决方案1】:

    也许不是最好的解决方案,但如果此页面上的任何其他解决方案都不适合您,请试试这个。

    在输入的 :before 上放置一个空白背景图像。更具体地说 - 我有自己的清晰按钮,其样式类似于网站,而 IE 则在其自身的基础上。我用清晰的图标更改了原来的透明PNG,背景是纯色的。

    其他浏览器看不出区别,它会阻止 IE 清除按钮。我想只有当输入背景颜色没有改变时才有效。

    【讨论】:

      【解决方案2】:

      从 Internet Explorer 10 中的文本字段中删除操作图标只需使用此 css 伪元素

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

      从 Internet Explorer 10 的密码字段中删除操作图标,只需使用这个 css 伪元素

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

      【讨论】:

      • 只是为了迂腐,这些是pseudo-elements,不是类。
      • 爱我一些迂腐!
      【解决方案3】:

      IE10-docmode "standard" 的解决方案之前已经贴过。

      我偶然发现了某种独立于 IE10-docmode 的解决方法。 如果您可以将所有输入的宽度更改为最大 80 像素,请使用以下 jquery:
      $("input[type=text]").width(80);

      【讨论】:

      • 我想知道是否有一种方法可以使用填充/边距来产生类似的效果。还没有想清楚。除了“让隐藏的 div 在 x 上滑动”之外,我不会这样做。
      【解决方案4】:

      由于answer 中的原因,您应该改用它。

      /* don't show the x for text inputs */
      ::-ms-clear {
          width : 0;
          height: 0;
      }
      
      /* don't show the eye for password inputs */
      ::-ms-reveal {
          width : 0;
          height: 0;
      }
      

      【讨论】:

        【解决方案5】:

        您需要使用-ms-clear pseudo-element。并使用-ms-reveal 作为密码框。

        应该这样做:

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

        【讨论】:

        • 我不得不承认,当它处于 IE7-9 模式时,jeffamaphone 给出的答案在 IE 中不起作用。但是,在 IE 10 中效果很好。
        • 嗯,它在 IE7-9 中不存在。这些装饰器在兼容模式下显示可能是一个错误。我必须爬山,吃一些当地的草药,然后冥想几天,而我没有时间。不过,connect.microsoft.com/ie 的人可能会在那里提交错误。
        • Win8 IE10 对于具有如下元标记的网站: 也不起作用。大概是因为 :: 选择器没有被解释。另一个主题在这里:answers.microsoft.com/en-us/ie/forum/ie10-windows_8/…
        • @pure_code :: 是伪元素的 CSS3 前缀。 w3.org/TR/css3-selectors/#pseudo-elements
        • @pure_code 阅读我们正在评论的答案。这就是你所需要的。
        【解决方案6】:

        jeffamaphone 的答案有效,除非浏览器处于兼容模式:

        您需要使用 -ms-clear 伪元素。并使用 -ms-reveal 密码框。

        应该这样做:
        ::-ms-清除{ 显示:无;
        }

        但是,当浏览器处于兼容模式时,显示图标仍然会出现。 要解决此问题,请使用此标记强制浏览器进入 IE10 模式

        【讨论】:

        • 我正在查看一个页面,唯一的样式是::-ms-reveal { display: none; },并且我处于兼容模式并且没有眼睛(删除样式会将其恢复)。我在IE10 Win7上。
        • 如果我遇到需要兼容 IE7 的页面,有什么办法可以让它工作吗?现在 css-es 被忽略了(我仍然可以看到 x)。
        【解决方案7】:

        我没有 Windows 8 预览版,但您是否尝试过使用 HTML 和 CSS 创建自定义输入字段?也许试试这个:http://www.webdesign4me.nl/Knowledge-Base/custom-input-field-using-html-and-css

        【讨论】:

        • 以上示例是自定义文本输入,带有圆角、红色边框和框阴影。 “标准”文本输入看起来与之前版本的 IE/Windows 没有太大不同。我只是想删除我在上图中指出的操作图标。不幸的是,在您给我的链接中,Windows 8 仍然应用操作图标。
        猜你喜欢
        • 2013-06-04
        • 2015-07-15
        • 1970-01-01
        • 2012-08-05
        • 2012-10-27
        • 2018-03-03
        • 1970-01-01
        • 2013-09-21
        • 1970-01-01
        相关资源
        最近更新 更多