2013-07-22 31 views
11

Sau câu trả lời này https://stackoverflow.com/a/17713753/407943Ẩn mặc định chọn mũi tên trong Firefox 22

tôi đã cố gắng thực hiện các giải pháp tương tự, nhưng nó không hoạt động trên Windows 7 của tôi Firefox 22, đây là những gì tôi nhận được:

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: đây là một jsfiddle http://jsfiddle.net/TGBEZ/1/

+0

Tôi nghĩ bạn sẽ phải thực hiện giải pháp javascript ... – Brewal

+0

@Brewal bạn có thể xây dựng không? –

Trả lời

1

đây là một lỗi được biết đến của firefox mà sẽ không được sửa chữa sớm, hoặc thậm chí sau này (xem này bugzilla).

Có một tinh khiết CSS/HTML workaround:

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

Vấn đề ở đây là bạn sẽ có để chắc chắn rằng te xt sẽ không quá lớn, nếu không nó sẽ vượt qua hình ảnh.

Ngoài ra, còn có các giải pháp javascript. Hãy xem customselect, một plugin jQuery để dễ dàng tạo các lựa chọn của riêng bạn.

Một Plugin nổi tiếng: chosen

33

Cập nhật: lừa này ngừng làm việc như của FF 30. Không có sửa chữa khác cho đến nay. Giữ mắt của bạn trên full gist để cập nhật.


Làm thế nào để loại bỏ các <select> mũi tên trên Firefox:

-moz-appearance:none; không hoạt động bằng cách riêng của mình. Bạn cần thêm một số text-indenttext-overflow. Như thế này:

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

Sống dụ: http://jsfiddle.net/joaocunha/RUEbp/1/

Tìm hiểu chi tiết về ý chính sau: https://gist.github.com/joaocunha/6273016

+4

Người đàn ông này cần huy chương và câu trả lời này 500 phiếu bầu. Chỉ có giải pháp làm việc tôi tìm thấy trên internet trong hơn một giờ. –

+0

Nhưng nó không hoạt động trong FF trên Android. Sử dụng văn bản thụt lề: 5px để sửa chữa nó – EAndreyF

+0

@EAndreyF: "Firefox dành cho Android cần toàn bộ chiều rộng của mũi tên dưới dạng thụt lề văn bản. Có nghĩa là bạn cần đặt nó ở ít nhất 5px, nhưng hãy cẩn thận vì Firefox dường như tăng gấp đôi giá trị thụt lề văn bản trên