IE 10的-ms-clear伪元素和IE5怪癖模式

时间:2013-06-19 16:45:55

标签: css internet-explorer-10 quirks-mode

我正在开发一个遗留的网络应用,需要使用Internet Explorer的“IE5 Quirks模式”(使用X-UA-Compatible: IE=5设置)。

应用中的许多文本字段都有(应用生成的)“x”按钮来清除内容。在IE10中,IE还会生成一个“x”按钮来清除该字段,因此用户可以看到其中的两个。

this question中所述,您可以使用::-ms-clear CSS伪元素删除IE生成的'x'。不幸的是,这似乎不适用于IE5 Quirks模式:::-ms-clear伪元素的样式在开发人员工具中显示为:unknown,并且IE生成的'x'继续出现。

除了重写应用程序以使用现代浏览器模式之外,有没有办法摆脱IE生成的'x'?

以下是在IE10下运行时在IE5怪异模式下重现问题的测试页:

<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=5">
        <style type="text/css">
            ::-ms-clear { width: 0; height: 0; }
        </style>
    </head>
    <body>Enter some text:<input></body>
</html>

1 个答案:

答案 0 :(得分:3)

尝试

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

或者

input::-ms-clear { visibility: hidden; }

hackier hack可能会使用margin-right和overflow属性

input { margin-right: -20px; overflow: hidden }