2013-07-22 18 views
11

Po tej odpowiedzi https://stackoverflow.com/a/17713753/407943domyślny Ukrywanie wybierz strzałkę w Firefoksie 22

Próbowałem realizacji tego samego rozwiązania, ale to nie działa na moim systemie Windows 7 Firefox 22, to jest to, co mam:

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: oto jsfiddle http://jsfiddle.net/TGBEZ/1/

+0

Myślę, że będziesz musiał wybrać rozwiązanie javascript ... – Brewal

+0

@Brewal możesz rozwinąć? –

Odpowiedz

1

jest to znany bug z firefox, które nie będą poprawione wkrótce, a może nawet później (patrz: bugzilla).

Jest czystym CSS/HTML obejście:

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

Problem polega na tym, że trzeba będzie aby upewnić się, że te xt nie będzie zbyt duży, w przeciwnym razie dostanie się ponad obraz.

Istnieją również rozwiązania javascript. Spójrz na customselect, wtyczkę jQuery, aby łatwo tworzyć własne selekcje.

Innym znanym wtyczki: chosen

33

UPDATE: tej sztuczki przestał działać z dniem FF 30. Jak dotąd żadna inna poprawka. Miej oczy na aktualizacje full gist.


Jak usunąć strzałkę <select> na Firefox:

-moz-appearance:none; nie działa sama. Musisz dodać niektóre text-indent i text-overflow. Tak:

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

żywo przykład: http://jsfiddle.net/joaocunha/RUEbp/1/

dowiedzieć się szczegółów na temat tego GIST: https://gist.github.com/joaocunha/6273016

+4

Ten człowiek potrzebuje medalu i ta odpowiedź 500 przegrywa. Tylko działające rozwiązanie, które znalazłem w Internecie w ciągu ponad godziny. –

+0

Ale to nie działa w FF na Androida. Użyj wcięcia tekstowego: 5px, aby to naprawić – EAndreyF

+0

@EAndreyF: "Firefox dla Androida potrzebuje całej szerokości strzałki jako tekstu wcięcia. Oznacza to, że musisz ustawić ją na co najmniej 5 pikseli, ale uważaj, ponieważ Firefox wydaje się podwoić wartość wcięcia tekstu na elementach