2013-07-22 11 views
11

A seguito di questa risposta https://stackoverflow.com/a/17713753/407943Nascondere predefinita freccia di selezione in Firefox 22

ho provato l'attuazione della stessa soluzione, ma non funziona sul mio Windows 7 Firefox 22, questo è quello che ottengo:

enter image description here

select { 
    -moz-appearance: window; 
    -webkit-appearance: none; 
    background: #f5f5f5 url("/images/arrow_down.png") right center no-repeat; 
    padding-right: 20px; 
} 
@-moz-document url-prefix() { 
.wrapper { 
    background: #f5f5f5 url("/images/arrow_down.png") right center no-repeat; 
    padding-right: 20px; 
    } 
} 

EDIT: ecco una jsfiddle http://jsfiddle.net/TGBEZ/1/

+0

Penso che dovrai andare per una soluzione javascript ... – Brewal

+0

@Brewal è possibile elaborare? –

risposta

1

Questo è un bug noto di Firefox che non sarà corretto presto, o forse anche più tardi (vedi questo bugzilla).

V'è una pura soluzione CSS/HTML:

HTML:

<div class="styled"> 
    <select></select> 
</div> 

CSS:

div.styled { 
    overflow: hidden; 
    padding: 0; 
    margin: 0; 
} 

div.styled select { 
    width: 115%; 
    background-color: rgba(0, 0, 0, 0); 
    background-image: none; 
    -webkit-appearance: none; 
    border: none; 
} 

The Fiddle

Il problema qui è che si dovrà per assicurarsi che te xt non sarà troppo grande, altrimenti passerà sull'immagine.

Inoltre, ci sono soluzioni javascript. Dai uno sguardo a customselect, un plugin jQuery per creare facilmente i tuoi selezioni.

Un altro famoso plugin: chosen

33

Update: questo trucco ha smesso di funzionare a partire dal FF 30. Nessun'altra correzione finora. Tieni gli occhi su full gist per gli aggiornamenti.


Come rimuovere la freccia <select> su Firefox:

-moz-appearance:none; non funziona da solo. È necessario aggiungere un po 'di text-indent e text-overflow. Come questo:

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

vivo esempio: http://jsfiddle.net/joaocunha/RUEbp/1/

apprendere i dettagli di questa sostanza: https://gist.github.com/joaocunha/6273016

+4

Quest'uomo ha bisogno di una medaglia e questa risposta 500 upvotes. Solo una soluzione funzionante che ho trovato su internet in più di un'ora. –

+0

Ma non funziona in FF su Android. Utilizzare il testo-trattino: 5px per risolvere il problema – EAndreyF

+0

@EAndreyF:. "Firefox per Android ha bisogno di tutta la larghezza della freccia come testo-rientro Significa che è necessario impostare ad almeno 5px, ma fate attenzione in quanto Firefox sembra raddoppiare il valore text-indent on