2012-03-08 36 views
14

我试图在Firefox中设计<select>。在铬我做它:在Firefox中设计选择元素

-webkit-appearance: none; 
background: #eeeeee url("../img/select-arrow.jpg") no-repeat center right; 

但在Firefox我不能似乎能够得到与

-moz-appearance: none; 
background: #eeeeee url("../img/select-arrow.jpg") no-repeat center right; 

任何想法相同的结果?谢谢。

回答

10

由于火狐35“-moz-appearance:none”你已经在你的代码中写道,根据需要最后取出箭头按钮。

自从该版本以来,这是一个bug解决。

9

看起来像这是Firefox的错误:-moz-appearance:没有选择元素。 更多信息,请参阅此bug报告:https://bugzilla.mozilla.org/show_bug.cgi?id=649849

+0

谢谢!确认为错误! – 2012-03-08 15:55:14

+0

我不确定这是一个'错误'。使用'-moz-appearance:none',一个选择基本上是通过一个类似组件的匿名DOM来实现的,这个页面无法设计样式。 – 2012-03-10 17:00:39

+4

不能相信这个bug还没有被修复。 – DesignerGuy 2012-09-20 21:30:38

2

EDIT [2]:由于@若昂 - 库尼亚的awesome trick停在FF30的工作,看到这个新的解决方法:http://jsfiddle.net/sstur/2EZ9f/(基于@ keska的显示屏上:柔性修复和一些文字阴影魔法)

编辑:这可以使用纯CSS来完成,这表现在这里:http://jsfiddle.net/sstur/fm5Jt/

这将是样式在Chrome,火狐,IE10 +和老IE等旧版浏览器将优雅降级。它使用各种供应商特定的解决方法,包括-webkit-appearance: none,正如您所提到的。

+1

是的,它是:http://stackoverflow.com/a/18317228/1411163 – 2014-01-16 13:49:41

4

完全重复,因为这一个:https://stackoverflow.com/a/18317228/1411163

相同的答案:

只是想出了如何从Firefox中选择箭头。诀窍是使用-prefix-appearance,text-indent和text-overflow的混合。它是纯CSS,不需要额外的标记。

select { 
    -moz-appearance: none; 
    text-indent: 0.01px; 
    text-overflow: ''; 
} 

在Windows 8,Ubuntu和Mac上测试最新版本的Firefox。

活生生的例子:http://jsfiddle.net/joaocunha/RUEbp/1/

更多关于这个问题的:https://gist.github.com/joaocunha/6273016

+0

伟大的找到João!我已经更新了我的JSFiddle以实现你的技巧以及Webkit和IE,以形成一个非常好的纯CSS跨浏览器解决方案。 – sstur 2014-01-18 06:29:28