用于 ::-ms-clear 伪元素的 CSS 规则未出现在 IE11 开发工具中,规则并不总是有效?

Dav*_*d W 0 html css internet-explorer-11 ie11-developer-tools

我有一个与 Windows 7 上 IE11 中特定于 MS 的伪元素的 CSS 问题相关的特殊问题。

为了消除 IE11 表单中大多数 INPUT 元素右侧边缘的“清除/X”按钮,我添加了一个简单的 CSS 样式规则,如下所示:

INPUT::-ms-clear{
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作得很好 - 直到有人遇到有问题的网站并看到这种样式应该删除的按钮。所以我开始用 IE11 开发工具调试这个问题,当我加载有问题的页面时(我的实例中没有“x”,正如预期的那样)我当然希望在“样式”窗格中看到上面的样式规则 - 但是没有这样的运气。

在百灵鸟中,我尝试将其添加为开发工具中的内联样式,但 IE11 表示它不适用 - 被划掉 - 但我找不到任何其他样式胜过它。禁用页面的所有样式仍会禁用此伪元素样式。所以现在,如果我的样式规则没有被应用,我不确定为什么“清除”按钮不会出现。

我难住了。我有 IE11 的三个实例,相同的版本,相同的安装源,其中两个以不同的方式呈现来自同一站点的相同页面,并且显然遵守(或不遵守??)此样式规则不一致(或不遵守)一点)。我只是不明白为什么 - 或者为什么规则没有出现在开发工具中。可能只是浏览器错误??

Dav*_*d W 5

我们发现了这个问题的原因。

当针对两个不同站点(本地主机和测试站点)上的同一页面打开两个浏览器时,一个带有“清除”小部件,另一个没有,我们还注意到呈现的 HTML 是不同的,从 DOCTYPE 声明开始。那打开了一个灯泡 - 仿真模式。仿真模式告诉我们,测试框上的 IE 实例正在以兼容模式呈现页面,因为它是“在我们的 Intranet 上”的站点,并且选中了“在兼容性视图中呈现 Intranet 上的所有站点”选项。取消选中此框,然后“清晰”的凹口符合我们的风格并消失了。

问题解决了。

感谢大家的投入。