无法让原始选择下拉箭头在 Mozilla 中消失

Posted

技术标签:

【中文标题】无法让原始选择下拉箭头在 Mozilla 中消失【英文标题】:Can't get original select dropdown arrow to disappear in Mozilla 【发布时间】:2012-09-23 11:34:04 【问题描述】:

我制作了一个自定义选择框,带有一个自定义下拉箭头,它在 Google Chrome 和 Safari 中看起来不错,但在 Mozilla(奇怪)和 Internet Explorer(不那么奇怪)中,原始箭头仍然存在新的。

这是 CSS 样式:

    .sb2_panes select 
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 20px;
        margin: 0;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        border-radius: 4px;
        background: url(img/search_arrow.png) no-repeat right #f8f8f8;
        color: #888;
        border: none;
        outline: none;
        display: inline-block;
        -webkit-appearance: none;
        -moz-appearance: normal;
        appearance: normal;
        cursor: pointer;
    

这是它在 Google Chrome 中的样子:

这是 Mozilla 中的样子:

谢谢。

【问题讨论】:

你试过了吗:-moz-appearance: none; 其实上面的行不通。这似乎是 Firefox 的一个错误。我认为这篇文章可以帮助解决这个问题:***.com/questions/6787667/… 感谢您的帮助。所以.. 自 2011 年年中以来它一直在 bugzilla 上,但仍然没有被开发;杰出的。任何已知的解决方法? 我能想到的唯一一件事就是将图像向左放置几个像素,与默认箭头重叠。我已经看到它是一种“替换”上传按钮的解决方法。在这种情况下,您可能必须仅为 Firefox 浏览器指定 CSS 的那部分。如果这没有帮助,我就出去了:) 对于IE,如果设置appearance: none;会发生什么?还是ms-appearance: none 【参考方案1】:

正如 Gunnar 所说,这仍然是 Firefox 中的一个错误 (https://bugzilla.mozilla.org/show_bug.cgi?id=649849)。

一种可能的解决方法是将select 的宽度设置为大于100% 并应用overflow: hidden

select 
    overflow: hidden;
    width: 125%;

或者你可以使用 javascript

【讨论】:

不,在我必须工作的限制范围内,这对我不起作用,我之前确实尝试过,但无济于事。现在我所做的是加载不同的 CSS 文件,以根据用户使用的 Web 浏览器来处理选择框的样式。因此,如果他们使用 Internet Explorer、Firefox 或 Opera,它会加载带有背景颜色的 CSS 文件,而不是自定义下拉箭头,因此至少没有两个下拉箭头;这看起来很荒谬。 除非这不是错误。选择小部件具有匿名子级,与操作系统默认的-moz-appearance 渲染完全无关。 WebKit 恰好通过它的非标准 -webkit-appearance 属性(这与非标准 -moz-appearance 属性不同)实现所有选择渲染,但按照规范,Gecko 所做的一切都很好。【参考方案2】:
select 
    -moz-appearance: none;
    text-indent: 0.01px;
    text-overflow: '';

此代码适用于 FF

【讨论】:

不再。从 Firefox 版本。 30 这不会隐藏箭头。 support.mozilla.org/en-US/questions/1001254 @marinbgd 它似乎已恢复使用最新的 FF 版本。

以上是关于无法让原始选择下拉箭头在 Mozilla 中消失的主要内容,如果未能解决你的问题,请参考以下文章

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

为啥当我按下刷新时,选择中的下拉箭头会改变外观和移动位置?

arcgis编辑状态下如何把黑箭头变成十字架

Grafana 下拉菜单消失 - 无法选择字段

GridView添加下拉框可以选择显示多少条

删除 IE10 选择元素箭头