IE和Firefox - 自定义下拉菜单无法删除原生箭头

Ant*_*lev 32 css internet-explorer mozilla custom-controls

我正在尝试创建自定义下拉控件,我需要隐藏本机控件中的箭头.我正在使用以下内容CSS,适用于Chrome和Safari,但不适用于Mozilla和IE.

select.desktopDropDown
{
    appearance: none;
    -moz-appearance:none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
}
Run Code Online (Sandbox Code Playgroud)

这是[jsfiddle] [1].

Ahm*_*Na. 73

使用它,它将工作,但使用IE10 +和FF:

你的CSS应该是这样的:

select.desktopDropDown::-ms-expand {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

更多关于::ms-expand.

然后休息:

select.desktopDropDown {
    outline : none;
    overflow : hidden;
    text-indent : 0.01px;
    text-overflow : '';
    background : url("../img/assets/arrow.png") no-repeat right #666;

    -webkit-appearance: none;
       -moz-appearance: none;
        -ms-appearance: none;
         -o-appearance: none;
            appearance: none;
}
Run Code Online (Sandbox Code Playgroud)

注意:我将路径硬编码"../img/assets/arrow.png"为背景.

这在IE,Firefox和Opera中应该对你有用.

  • IE 11不喜欢`select.desktopDropDown :: -ms-expand`中的空格.它没有工作,直到我做它'select.desktopDropDown :: - ms-expand`(```没有空格.*IE - 自2009年以来拖钓* (4认同)
  • @ug_因为好的语法没有空格.由于您不能指望浏览器能够理解错误的JS函数,因此您不能指望它理解错误的CSS指令.简单. (2认同)

Jar*_*rod 19

裸骨的例子:

对于IE:

select::-ms-expand {
    display: none;
}  
Run Code Online (Sandbox Code Playgroud)

对于Firefox:

select {
    -moz-appearance: none;
    appearance: none;

    text-overflow: ''; /* this is important! */
}
Run Code Online (Sandbox Code Playgroud)