删除 IE10 选择元素箭头

因此,对于 Mozilla 和 WebKit,我有一个半体面的解决方案,使用 appearance: none; 替换 select 框上的箭头并具有父元素.

So, with Mozilla and WebKit I have a half-decent solution replacing the arrow on the select box using appearance: none; and having a parent element.

在大多数情况下,我在 IE 中禁用了此功能.对于 IE10,我实际上无法禁用它,因为我的条件注释实际上不起作用.

In IE for the most part I disabled this feature. For IE10 I can't actually disable it since my conditional comments don't actually work.

这是我的标记:

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)]>    <html class="ie10plus"> <![endif]-->
<!--[if !(IE)]><!--> <html> <!--<![endif]-->

ie10plus 类实际上并没有进入标记.

The class ie10plus doesn't actually make it's way to the markup.

我也觉得可能有一种合法的方法可以替换 IE 中的箭头.我不反对实际解决问题.appearance: none; 但是不起作用.那我可以在这里做什么?

I also feel like there might be a legitimate way to replace the arrow in IE. I am not opposed to actually fixing the problem. appearance: none; however does not work. So what can I do here?

推荐答案

避免浏览器嗅探和条件注释(从 Internet Explorer 10 开始不支持),而是采用更标准的方法.对于这个特定问题,您应该针对 ::-ms-expand 伪元素:

Avoid browser-sniffing and conditional comments (which aren't supported as of Internet Explorer 10), and instead take a more standard approach. With this particular issue you should be targeting the ::-ms-expand pseudo element:

select::-ms-expand {
    display: none;
}

相关文章