这是一个已知的错误,引发了数次 Stackoverflow 讨论。根据我的阅读,Mozilla 认为 CSS 是处理这种元素行为的错误位置,并选择通过其他方式处理它。目前唯一的解决方案是使用tabindex="-1"
或将元素设置为显示为其他内容,并重新设置下拉列表的外观和感觉 - 但请注意,这本身就会打开一堆蠕虫。
如果您确实选择这样做,我过去曾通过以下方法取得成功:
select {
appearance: normal;
-webkit-appearance: none;
-moz-appearance: radio-container; /* renders text within select, without arrow chrome */
}
外观告诉浏览器将元素显示为其他内容,但这在供应商之间是不一致的。appearance: normal;
是规范,而 webkit 将 normal 替换为 none。-moz-appearance: radio-container;
一直是我发现在所选选择选项中显示文本的唯一方法,同时删除箭头镶边以获得完全自定义的下拉列表。但是,请尝试尝试可用的选项,直到找到可行的选项并且不添加您希望自定义的对焦环。Internet Explorer 将需要进一步的组合来根据您的需要进行选择。完全有可能,但超出了这个问题和答案的范围。